2010-07-08 10 views
7

obecnie używam jQuery.Cycle do cyklu przez kilka dziecka <div> tagi. Jednak chcę, aby domyślny cykl fx był fade, a po kliknięciu na selektory next lub prev, chcę, aby cykl fx tymczasowo zmienił się na scrollRight lub scrollLeft w zależności od kliknięcia wybieraka.jQuery.Cycle - stosować dwa różne efekty na samym pojemniku

Czy to możliwe?

kod jQuery, jeśli to konieczne:

$('#banner_content').cycle({ 
    fx: 'fade', // choose your transition type, ex: fade, scrollUp, shuffle, etc... 
    timeout: 6500, 
    speed: 2000, 
    next: $("#right_arrow a"), 
    prev: $("#left_arrow a"), 
}); 

Odpowiedz

11

Ok, dodałem moje pytanie na jQuery Forum, a twórca odpowiedziały następujące answer.

Tu jest mój kod, który opracowałem na to:

var slideIndex = 0; 
var nextIndex = 0; 
var prevIndex = 0; 

$('#banner_content').cycle({ 
    fx: 'fade',//fx: 'scrollHorz', // choose your transition type, ex: fade, scrollUp, shuffle, etc... 
    timeout: 8000, 
    speed: 1000, 
    easingIn:20, 
    easingOut:40, 
    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; 
     } 
    } 
}); 

$("div.left_arrow a").click(function() { 
    $('#banner_content').cycle(nextIndex, "scrollRight"); 
}); 

$("div.right_arrow a").click(function() { 
    $('#banner_content').cycle(prevIndex, "scrollLeft"); 
}); 
Powiązane problemy