2015-10-14 149 views
0

我正在使用responsive jcarousel plugin,我遇到問題。一切工作正常響應和良好的時候我加載網絡,但如果我調整瀏覽器窗口旋轉木馬混亂了。如何重新加載JCarousel

我想通過解僱jcarousel reload method來重新計算幻燈片的數量和尺寸。問題是我無法使輪播重新加載。請參見下面的代碼:

這是什麼使我的jCarousel響應(這工作正常):

var jcarousel = $('.jcarousel'); 

    jcarousel.on('jcarousel:reload, jcarousel:create', function() { 
     console.log('reloading carousel'); 
      var carousel = $(this), 
      width = carousel.innerWidth(); 
      cantSlides = 1; 
      if (width >= 1600){ 
       width = width/4; 
       cantSlides = 4; 
      }else if (width >= 1200) { 
       width = width/3; 
       cantSlides = 3; 
      }else if (width >= 800) { 
       width = width/2; 
       cantSlides = 2; 
      } 
      carousel.jcarousel('items').css('width', Math.ceil(width) + 'px'); 

      $('.jcarousel-control-prev') 
      .jcarouselControl({ 
       target: '-='+cantSlides 
      }); 

      $('.jcarousel-control-next') 
      .jcarouselControl({ 
       target: '+='+cantSlides 
      }); 

     }) 

而這就是不工作:

$(window).resize(function(){ 
    $('.jcarousel').jcarousel('reload', {}); 
}); 

我放在一個console.log內輪播重新加載,創建功能。它會記錄我按F5時的情況,但當我調整瀏覽器窗口大小時它不會記錄。爲什麼我的重新加載事件不會觸發?

謝謝!

+0

嘗試用'動畫:慢'來重新加載 – dreamweiver

+0

@dreamweiver仍然不起作用:(沒有錯誤顯示在控制檯中,但它沒有觸發 –

+0

你可以在jsfiddle上覆制相同的http://jsfiddle.net – dreamweiver

回答

0

我發現錯誤在哪裏! jcarousel.on('jcarousel:reload, jcarousel:create', function() {是錯誤的,正確的語法是這樣的:jcarousel.on('jcarousel:reload jcarousel:create', function() {,用空格而不是逗號。

+1

好,現在讓我們通過接受答案來解決這個問題 – dreamweiver