Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问.each()jQuery中的插件方法_Javascript_Jquery - Fatal编程技术网

Javascript 如何访问.each()jQuery中的插件方法

Javascript 如何访问.each()jQuery中的插件方法,javascript,jquery,Javascript,Jquery,我正在我的网站上使用。这是我的剧本: handleBxSlider = function(){ var initSliders, destroySliders; initSliders = function(){ jQuery('.bxslider').each(function(){ jQuery(this).bxSlider({ slideWidth: 5000, min

我正在我的网站上使用。这是我的剧本:

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();

};
具有方法<代码>销毁滑块()。我需要使插件中的所有公共方法都可以通过调用
handleBxSlider
访问

这就像是,
handleBxSlider.destroySlider()
销毁滑块,或
handleBxSlider.initSliders(),以重新初始化滑块。
但是
销毁滑块()不起作用。如何在
initSliders function()中访问bxSlider的公共方法

还是有最好的解决方案


无论如何,这里是
initSliders
中的,您只需创建
bxSlider
,就无法访问内部范围中的对象。我在所有滑块对象所在的位置添加了数组
slideray
。现在,通过调用
销毁滑块
可以销毁滑块

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();
};
handlebSlider=function(){
var initSliders、destroySliders、sliderArray=[];
initSliders=函数(){
jQuery('.bxslider')。每个(函数(){
var sliderObj=jQuery(this).bxSlider({
滑动宽度:5000,
minSlides:jQuery(this).attr(“min slides”)| | 4,
maxSlides:jQuery(this).attr(“最小幻灯片”)| | 5,
slideMargin:jQuery(this).attr(“幻灯片边距”)| | 20
});
sliderArray.push(sliderObj)
});
};
滑块=函数(){
对于(变量i=0;i
我尝试过这个,但没有成功。这是您的
initSliders
,然后是
destroilders
。卸下滑块()
。对我来说很好。谢谢你的重播。如果我想调用
initSliders
?。如果您可以看到
App
内部作用域函数,则需要在窗口调整事件大小后调用它。通过将
this
添加到
initSliders
中,您可以通过
App.initSliders()
App
范围访问。