我在我的网站上使用bxSlider。这是我的剧本:
handleBxSlider = function(){
var initSliders, destroySliders;
initSliders = function(){
jQuery('.bxslider').each(function(){
jQuery(this).bxSlider({
slideWidth: 5000,
minSlides: jQuery(this).attr("min-slides") || 4,
maxSlides: jQuery(this).attr("min-slides") || 5,
slideMargin: jQuery(this).attr("slide-margin") || 20
});
});
};
destroySliders = function(){
initSliders.destroySlider();
};
initSliders();
destroySliders();
};
bxSlider有方法destroySlider();
。我需要通过调用handleBxSlider
来访问bxSlider's插件中的所有公开方法。
就像是handleBxSlider.destroySlider();
来破坏滑块,或者handleBxSlider.initSliders();
来重新初始化滑块。
但是destroySliders();
没有用。如何在initSliders function()
内访问bxSlider的公共方法?
或者有最好的解决方案吗?
无论如何,这是fiddle
答案 0 :(得分:1)
在initSliders
中,您只需创建bxSlider
即可在内部范围内找到对象。我添加了所有滑块对象所在的数组sliderArray
。现在通过调用destroySliders
你可以破坏滑块。
handleBxSlider = function () {
var initSliders, destroySliders, sliderArray = [];
initSliders = function () {
jQuery('.bxslider').each(function () {
var sliderObj = jQuery(this).bxSlider({
slideWidth: 5000,
minSlides: jQuery(this).attr("min-slides") || 4,
maxSlides: jQuery(this).attr("min-slides") || 5,
slideMargin: jQuery(this).attr("slide-margin") || 20
});
sliderArray.push(sliderObj)
});
};
destroySliders = function () {
for (var i = 0; i < sliderArray.length; i++) {
sliderArray[i].destroySlider();
}
};
initSliders();
destroySliders();
};