2010-09-10 27 views

回答

5

聽起來好像這是你想要的效果:http://jsfiddle.net/zvVcD/

如果是這樣的話,你只需要使用「scrollHorz」的效果,然後定義一個和下一個觸發器,像這樣:

$('#s2').cycle({ 
    fx: 'scrollHorz', 
    speed: 'fast', 
    timeout: 0, 
    next: '#next2', 
    prev: '#prev2' 
}); 
+0

非常感謝。這確實解決了這個問題。但是,對於其他效果,你是否有任何更普遍的方法?例如:接下來淡入淡出,滑過前一個。 – Mtz 2010-09-16 15:07:25

+0

不幸的是我不認爲Cycle插件支持你在找什麼。 – Ender 2010-09-16 15:37:50

4

下面是更通用的方法:

var $cycler = $(".cycler"), 
    prev = function() { $cycler.cycle(prevIndex, "scrollRight"); }, 
    next = function() { $cycler.cycle(nextIndex, "scrollLeft"); }; 

    $cycler.cycle({ 
        fx:  'scrollLeft', 
        after: function(currSlideElement, nextSlideElement, options) { 
          slideIndex = options.currSlide; 
          nextIndex = slideIndex + 1; 
          prevIndex = slideIndex -1; 

          if (slideIndex == options.slideCount-1) { 
           nextIndex = 0; 
          } 

          if (slideIndex == 0) { 
           prevIndex = options.slideCount-1; 
          } 
         } 
       }); 

    $(".prev").bind("click", prev); 
    $(".next").bind("click", next); 

您可以更改scrollLeftscrollRight到任何你喜歡的。請注意,我使用.prev.next.cycler類別分別用於我的上一個按鈕,下一個按鈕和循環器容器。

+0

嗨,我還沒有嘗試過,但它絕對看起來很有趣。謝謝! – Mtz 2011-09-23 07:25:59