我想在flexslider()
函数完成后才执行我的代码。问题是flexslider()
没有返回承诺或其他的承诺。
所以我用setTimeout
应用了这个讨厌的解决方法,我想摆脱它。如何在flexslider
初始化后重构此代码并执行我的代码?
(function($) {
$('.flexslider').flexslider({
animation: "slide",
controlNav: false
});
setTimeout(function() {
var $navBar = $('.primary-nav');
var navbarPosition = $navBar.offset().top;
$(window).scroll(function() {
var scrollPosition = $(this).scrollTop();
if (scrollPosition >= navbarPosition) {
$navBar.addClass('navbar-fixed');
} else {
$navBar.removeClass('navbar-fixed');
}
});
}, 1000);
})(jQuery);
答案 0 :(得分:1)
如何使用start:
$('.flexslider').flexslider({
animation: "slide",
controlNav: false,
start: function(){
// do something....
}
});