0

也许这是一个愚蠢的问题。但我真的无法理解。

我正在使用 Jquery Cycle2。经过一些个性化后,我遇到了一个简单的问题。我需要知道我当前幻灯片的“索引”是什么。

在插件的网站上发现这行代码完美运行。

$('#cycle-1 .cycle-slide').click(function(){
    var index = $('#cycle-1').data('cycle.API').getSlideIndex(this);
    alert(index);
});

它给了我正确的索引。但是当单击另一个元素时,我试图捕捉这个索引。所以我不能使用参数(this)。

然后我尝试了这个。

$('.anotherelement').click(function(){
    var mycycle = $('#cycle-1 .cycle-slide');
    var index = $('#cycle-1').data('cycle.API').getSlideIndex($(mycycle));
    alert(index);
});

它不会返回我当前的幻灯片索引。它返回“-1”。有谁知道我应该如何将对象(选择器)作为参数传递给 getSlideIndex() ?

非常感谢 :D

4

2 回答 2

0

在第一段代码this中是一个 DOM 元素,而不是一个 jquery 对象。试试这个:

var index = $('#cycle-1').data('cycle.API').getSlideIndex(mycycle[0]);

但是,大概,您有​​多个.cycle-slide元素。这只会得到第一个。在您的第一个代码中,您可以访问一个,因为只单击了一个。您需要决定要在此处定位哪一个。

于 2013-09-11T20:35:42.380 回答
0

您可以使用$('.cycle-slideshow').data('cycle.opts').currSlide获取当前幻灯片索引

$('.anotherelement').click(function(){
    var index = $('.cycle-slideshow').data('cycle.opts').currSlide;
    var currSliderNum = index+1;
    alert(currSliderNum);
    return false;
});

小提琴

于 2013-09-11T21:06:19.803 回答