$.ajax()和fixPagesHeight()是顺序执行的

而ajax是一个异步调用,在ajax的success方法执行前你是拿不到值的,即使你设置全局变量都是没用

$(".swiper-nav .swiper-wrapper")中的html不是你所期望的

可以在这样修改

function fixPagesHeight() {

$.ajax({

type: "get",

url: "nav.php",

cache: false,

dataType: "json",

success: function(data) {

var data = data;

var html = '';

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

html += '

' + data[i].nav + '
';

}

$(".swiper-nav .swiper-wrapper").get(0).innerHTML = html;

var nav = $('.swiper-nav').swiper({

slidesPerView: 'auto',

freeMode: true,

noSwiping: true,

freeModeFluid: true,

calculateHeight: true,

visibilityFullFit: true,

onSlideClick: function(nav) {

pages.swipeTo(nav.clickedSlideIndex)

}

});

fixPagesHeight(nav);

},

error: function() {

alert("出错");

}

});

}

或者

$.ajax({

type: "get",

url: "nav.php",

cache: false,

dataType: "json",

success: function(data) {

var data = data;

var html = '';

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

html += '

' + data[i].nav + '
';

}

$(".swiper-nav .swiper-wrapper").get(0).innerHTML = html;

fixPagesHeight();

},

error: function() {

alert("出错");

}

});

function fixPagesHeight(){

var nav = $('.swiper-nav').swiper({

slidesPerView: 'auto',

freeMode: true,

noSwiping: true,

freeModeFluid: true,

calculateHeight: true,

visibilityFullFit: true,

onSlideClick: function(nav) {

pages.swipeTo(nav.clickedSlideIndex)

}

});

$('.swiper-pages').css({

height: $(window).height() - nav.height - 48

})

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐