2010-07-08 5 views
7

настоящее время я использую jQuery.Cycle к циклу через несколько ребенка <div> тег. Тем не менее, я хочу, чтобы цикл fx по умолчанию был fade, и когда я нажимаю на селектора , я хочу, чтобы цикл fx временно менялся на scrollRight или scrollLeft в зависимости от щелчка селектора.jQuery.Cycle - использовать два различные эффекты на тот же контейнер

Возможно ли это?

JQuery код, если это необходимо:

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

ответ

11

Хорошо, я добавил свой вопрос на jQuery Forum, и создатель ответил следующее answer.

Вот мой код, который я разработал для этого:

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"); 
}); 
Смежные вопросы