2010-07-08 9 views
7

Şu anda bir <div> etiketini kullanarak jQuery.Cycle kullanıyorum. Bununla birlikte, fade varsayılan döngüsünün fx olmasını istiyorum ve next veya prev seçicilerini tıkladığımda, tıklatılan seçiciye bağlı olarak fx'in geçici olarak scrollRight veya scrollLeft olarak değiştirilmesini istiyorum.jQuery.Cycle - aynı kapsayıcıda iki farklı efekt kullanın

Bu mümkün mü?

jQuery kodu, gerekirse:

$('#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"), 
}); 

cevap

11

Tamam, jQuery Forum tarihinde sorumu eklendi ve yaratıcısı answer aşağıdaki ile yanıt verdi.

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"); 
}); 
: Burada

Bunun için geliştirilen benim kodudur