如何更改窗口调整大小时滚动的轮播项目数?

时间:2014-11-08 15:47:48

标签: jquery carousel window-resize

我试图将jQuery轮播插件添加到一个简单的项目中,并希望根据窗口的大小更改每次点击滚动的项目数。
该插件在数组中定义了大量设置,如下所示:

Ocarousel.settings = {
  ... ,
  ... ,
  perscroll: 3,
  ... ,
  ...
};

我想在小屏幕上每次点击滚动1个项目,在中型屏幕上滚动2个项目,在大屏幕上滚动3个项目,所以我试图改变" perscroll"初始值,如下:

if ($(window).width() <= 720){
    Ocarousel.settings.perscroll = 1;
}
if ($(window).width() > 720 && $(window).width() <= 1152){
    Ocarousel.settings.perscroll = 2;
}
if ($(window).width() > 1152){
    Ocarousel.settings.perscroll = 3;
}

$(window).resize(function(){
    if ($(window).width() <= 720){
        Ocarousel.settings.perscroll = 1;
    }
    if ($(window).width() > 720 && $(window).width() <= 1152){
        Ocarousel.settings.perscroll = 2;
    }
    if ($(window).width() > 1152){
        Ocarousel.settings.perscroll = 3;
    }
});

问题:只有我的代码的前半部分有效。当在不同窗口大小上重新加载页面时,代码工作正常 - 我在屏幕尺寸为720px或更小时滚动1个项目,在720px和1152px之间滚动2个项目,当大于1152px时滚动3个项目这正是我所需要的。但是当浏览器的窗口正在调整大小时 - 没有任何反应。加载页面时的值仍然使用(而不是&#34; resize&#34;函数中声明的值)。

所以我的问题是,如果有人能告诉我我做错了什么。我对jQuery很新,我的知识仍然很少。试图在谷歌找到答案但到目前为止没有运气。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

我认为Ocarousel.settings.perscroll = x用于初始化和配置您的轮播,因此在创建此轮廓后,它无法修改行为。因此,请尝试在此插件中找到一个功能或方法,以便您可以更改perscroll设置或尝试重新绘制&#39; ou&#39;重新创造&#39;您每次要修改此设置时都要使用旋转木马。