2010-09-10 52 views
2

J'utilise l'option before: du plugin jQuery Cycle pour déterminer si l'utilisateur se déplace vers la gauche ou la droite à travers le diaporama et que je souhaite animer en conséquence (scrollLeft, scrollRight).Cycle jQuery: Comment modifier l'effet de transition sur un diaporama en cours

Malheureusement, je ne trouve pas comment modifier les options du plugin (l'effet de transition) lorsqu'il est en cours d'exécution.

Des idées?

Répondre

5

On dirait que cela est l'effet que vous voulez: http://jsfiddle.net/zvVcD/

Si tel est le cas, il vous suffit d'utiliser l'effet « scrollHorz », puis définir les déclencheurs précédents et suivants, comme ceci:

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

Merci beaucoup. Cela résout en effet ce problème particulier. Mais avez-vous une idée d'une approche plus générale, pour d'autres effets? Par exemple: fondu sur suivant, glisser sur précédent. – Mtz

+0

Malheureusement, je ne pense pas que le plugin Cycle supporte ce que vous cherchez. – Ender

4

est ici l'approche plus générale:

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); 

vous pouvez modifier scrollLeft et scrollRight dans tout ce que vous aimez. Notez que j'utilise les classes .prev, .next et .cycler respectivement pour le bouton précédent, le bouton suivant et le conteneur cycleur.

+0

Salut, je ne l'ai pas encore essayé, mais c'est vraiment très intéressant. Merci! – Mtz