Javascript jQuery resize事件在调整大小过程中多次被调用

Javascript jQuery resize事件在调整大小过程中多次被调用,javascript,jquery,resize,slider,Javascript,Jquery,Resize,Slider,SettingsSliderresize事件可能会发生数百次,只是大小上的一个小变化,我不知道如何正确处理 水平滑块:函数(){ var startnum=0, mySlider,mySlider2,mySlider3,mySlider4,mySlider5,mySlider6,mySlider7,mySlider8,设置1={ },设置2={ }; 函数设置(){ 返回($(窗口).width()

SettingsSlider
resize事件可能会发生数百次,只是大小上的一个小变化,我不知道如何正确处理

水平滑块:函数(){
var startnum=0,
mySlider,mySlider2,mySlider3,mySlider4,mySlider5,mySlider6,mySlider7,mySlider8,设置1={
},设置2={
};
函数设置(){
返回($(窗口).width()<800)?设置1:设置2;
}
mySlider2=$('.one').bxSlider(settings());
mySlider3=$('.two').bxSlider(settings());
mySlider4=$('.three').bxSlider(settings());
mySlider5=$('.four').bxSlider(settings());
mySlider6=$('.five').bxSlider(settings());
mySlider7=$('.six').bxSlider(settings());
mySlider8=$('.seven').bxSlider(settings());
mySlider=$('.eight').bxSlider(settings());
函数设置滑动器(){
mySlider.reloadslaider($.extend(settings()),用于{
startSlide:mySlider.getCurrentSlide()
}));
mySlider2.reloadslaider($.extend(settings()){
startSlide:mySlider2.getCurrentSlide()
}));
mySlider3.reloadslaider($.extend(settings()),用于{
startSlide:mySlider3.getCurrentSlide()
}));
mySlider4.reloadSlider($.extend(settings()){
startSlide:mySlider4.getCurrentSlide()
}));
mySlider5.reloadslaider($.extend(settings()),用于{
startSlide:myslide5.getCurrentSlide()
}));
mySlider6.reloadSlider($.extend(settings()){
startSlide:mySlider6.getCurrentSlide()
}));
mySlider7.reloadSlider($.extend(settings(),默认值){
startSlide:mySlider7.getCurrentSlide()
}));
mySlider8.reloadSlider($.extend(settings()){
startSlide:mySlider8.getCurrentSlide()
}));
}
$(窗口)。调整大小(设置滑块);
},

是调整事件调用多次,直到停止调整浏览器大小。为了防止is&只调用它一次,您可以在javascript中使用clearTimeOut()方法

var timer;
$(window).resize(function(e){

    clearTimeOut(timer);
    timer = setTimeOut(your_method(),100);

});

function your_method(){
    // Your Code
}
将您的设置滑动方法更改为

function SettingsSlider() {
                mySlider.reloadSlider(settings());
                mySlider2.reloadSlider(settings());
                mySlider3.reloadSlider(settings());
                mySlider4.reloadSlider(settings());
                mySlider5.reloadSlider(settings());
                mySlider6.reloadSlider(settings());
                mySlider7.reloadSlider(settings());
                mySlider8.reloadSlider(settings());
            }

保罗·爱尔兰(Paul Irish)说:@A.沃尔夫(Wolff)你能用这个解决方案修改我的小提琴吗?@sanguisuga我想它现在起作用了。我只在你停止调整大小时才工作。。对吗?@rohanAM不幸的是,这个功能使firefox崩溃。我不知道我在做什么wrong@sanguisuga这是因为window.onresize在Firefox中不起作用。使用jQuery的$(window).resize()方法,如我的答案所示。@rohanAM解决方案是什么?@sanguisuga检查我的答案,使用jQuery的$(window).resize()方法
function SettingsSlider() {
                mySlider.reloadSlider(settings());
                mySlider2.reloadSlider(settings());
                mySlider3.reloadSlider(settings());
                mySlider4.reloadSlider(settings());
                mySlider5.reloadSlider(settings());
                mySlider6.reloadSlider(settings());
                mySlider7.reloadSlider(settings());
                mySlider8.reloadSlider(settings());
            }