2010-02-15 2 views
1

Hay Guys, я использую плагин Cycle для галереи. Плагин имеет функцию, которая может быть запущена после того, как изображение было показать объектJQuery Cycle next: function help

prevNextClick: function(isNext, zeroBasedSlideIndex, slideElement){ 
    SlideIndex = zeroBasedSlideIndex + 1; 
    $(".count .c").empty().append(SlideIndex); 
}, 
after: function(currSlideElement, nextSlideElement, options, forwardFlag){ 
    console.log(currSlideElement); 
} 

Функция prevNextClick имеет переменную zeroBasedSlideIndex, чтобы определить, какое изображение отображается, howver следующей функции Doesnt. Я хочу получить индекс элемента, чтобы я мог отображать его в своем HTML.

Любые идеи?

ответ

1

Вы можете использовать options.nextSlide:

after: function(currSlideElement, nextSlideElement, options, forwardFlag){ 
    $(".count .c").empty().append(options.nextSlide); 
} 
+0

Спасибо, работает! – dotty

0

Вы всегда можете получить индекс для элемента с помощью «.index) (» функцию в JQuery. Так что в этом случае вы можете получить текущий индекс, делая это:

$(currSlideElement).index(); 

Или получить индекс следующего элемента, делая это:

$(nextSlideElement).index(); 

Было бы хорошо, если бы индексы были переданы обратно как часть «вариантов», чтобы избежать чрезмерных обходов DOM, но это примечание для разработчика.

UPDATE: исправляющие себя, так как я кодирования в то время как я читаю это и обнаружил правильные «варианты» существуют:

options.currSlide; 
options.nextSlide; 
options.slideCount; 

Обнаруженный это, когда я рассматривал источник этого счета демо: http://jquery.malsup.com/cycle/count.html

Но при этом кажется, что использование любой опции не взаимозаменяемо. Для кода, над которым я сейчас работаю, использование «$ (currSlideElement) .index()» и «$ (nextSlideElement) .index()« работает больше с моими потребностями в обратном вызове «до». Не работает так, как ожидалось, в контексте «options.currSlide» и «options.nextSlide». Будет эксперимент, основанный на контексте и необходимости.