1

嘿伙计们,我正在为画廊使用 Cycle 插件。该插件具有可以在显示图像后运行的功能

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

prevNextClick 函数有一个变量 zeroBasedSlideIndex 来确定正在显示的图像,但是下一个函数没有。我想获取元素的索引,以便可以在我的 HTML 中显示它。

有任何想法吗?

4

2 回答 2

1

您可以使用 options.nextSlide:

after: function(currSlideElement, nextSlideElement, options, forwardFlag){
    $(".count .c").empty().append(options.nextSlide);
}
于 2010-02-15T14:54:48.870 回答
0

您始终可以使用 jQuery 中的“.index()”函数获取元素的索引。因此,在这种情况下,您可以通过以下方式获取当前索引:

$(currSlideElement).index();

或者通过执行以下操作获取下一个元素的索引:

$(nextSlideElement).index();

如果将索引作为“选项”的一部分传回以避免过多的 DOM 遍历,那就太好了,但这是给开发人员的注意事项。

更新:纠正自己,因为我在阅读本文时正在编码并发现存在正确的“选项”:

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

当我查看此计数演示的来源时发现了这一点:http: //jquery.malsup.com/cycle/count.html

但话虽如此,似乎使用任何一个选项都不可互换。对于我现在正在编写的代码,使用“$(currSlideElement).index()”和“$(nextSlideElement).index()”在“before”回调中更符合我的需要。在“options.currSlide”和“options.nextSlide”上下文中不能按预期工作。将根据上下文和需要进行实验。

于 2011-05-21T16:12:18.933 回答