2014-11-08 60 views
0

我試圖給一個簡單的項目添加一個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個項目,這正是我需要的。但是,當瀏覽器的窗口正在調整大小時 - 沒有任何反應。頁面加載時的值仍然被使用(而不是在「調整大小」功能中聲明的值)。

所以我的問題是,如果有人能告訴我我做錯了什麼。我對jQuery非常陌生,我的知識還很少。試圖找到答案在谷歌,但沒有運氣到目前爲止。

非常感謝您提前。

回答

0

我認爲Ocarousel.settings.perscroll = x是用於初始化和配置你的輪播,所以它不能修改這個創建後的行爲。因此,請嘗試在此插件中查找功能或方法,以便您可以更改perscroll設置,或者在每次要修改此設置時嘗試「重新繪製」或「重新創建」您的輪播。

+0

謝謝,我懷疑這樣的事情。但是,如何在窗口調整大小時「重新創建」旋轉木馬? 以下是github上原始腳本文件的鏈接(https://github.com/justinmc/jQuery-Open-Carousel/blob/master/src/jquery.openCarousel.js) – 2014-11-08 22:22:07

相關問題