ajax下拉框联动显示空白,页面侧边栏通过AJAX请求数据之后下拉菜单无法显示

静态页面的时候侧边栏下拉都没什么问题,后来侧边栏数据通过AJAX获取之后下拉菜单就出不来了,点击一级菜单没反应,

bVWrT7?w=457&h=274

论坛搜索过部分问题好像是添加live()什么的,但是我修改了下貌似解决不了,页面是bootstrap框架搭的。

下面是html部分:

下面是ajax请求部分:

$(function () {

query();

});

function query() {

var showContent = '';

$.ajax({

type: "get",

url: "../home/menu", //Servlet请求地址

dataType: "json",

success: function (data) {

var con = data;//获取json中的list列表

for (var i = 0; i < con.length; i++) {

var a = con[i];

showContent +=

'

' + a.name + ' ' +

'

if (!a.leaf) {

for(var j=0; j < a.children.length; j++) {

var c = a.children[j];

showContent += '

'+ c.name+'';

}

}

showContent += '

';

}

$("#menu").html(showContent);

console.info("内容已经加载并初始化");

},

error: function (XMLHttpRequest, textStatus, errorThrown) {

alert(errorThrown);

console.info("数据请求异常 请查看控制台错误 或者检查servlet配置");

}

});

}

下面是下拉效果JS部分:

var CURRENT_URL = window.location.href.split('#')[0].split('?')[0],

$BODY = $('body'),

$MENU_TOGGLE = $('#menu_toggle'),

$SIDEBAR_MENU = $('#sidebar-menu'),

$SIDEBAR_FOOTER = $('.sidebar-footer'),

$LEFT_COL = $('.left_col'),

$RIGHT_COL = $('.right_col'),

$NAV_MENU = $('.nav_menu'),

$FOOTER = $('footer');

// Sidebar

function init_sidebar() {

// TODO: This is some kind of easy fix, maybe we can improve this

var setContentHeight = function () {

// reset height

$RIGHT_COL.css('min-height', $(window).height());

var bodyHeight = $BODY.outerHeight(),

footerHeight = $BODY.hasClass('footer_fixed') ? -10 : $FOOTER.height(),

leftColHeight = $LEFT_COL.eq(1).height() + $SIDEBAR_FOOTER.height(),

contentHeight = bodyHeight < leftColHeight ? leftColHeight : bodyHeight;

// normalize content

contentHeight -= $NAV_MENU.height() + footerHeight;

$RIGHT_COL.css('min-height', contentHeight);

};

$SIDEBAR_MENU.find('a').on('click', function(ev) {

console.log('clicked - sidebar_menu');

var $li = $(this).parent();

if ($li.is('.active')) {

$li.removeClass('active active-sm');

$('ul:first', $li).slideUp(function() {

setContentHeight();

});

} else {

// prevent closing menu if we are on child menu

if (!$li.parent().is('.child_menu')) {

$SIDEBAR_MENU.find('li').removeClass('active active-sm');

$SIDEBAR_MENU.find('li ul').slideUp();

}else

{

if ( $BODY.is( ".nav-sm" ) )

{

$SIDEBAR_MENU.find( "li" ).removeClass( "active active-sm" );

$SIDEBAR_MENU.find( "li ul" ).slideUp();

}

}

$li.addClass('active');

$('ul:first', $li).slideDown(function() {

setContentHeight();

});

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值