1

我试图在此循环的每次迭代期间访问元素索引。

$('.slide').hide().repeat().each($).fadeIn($).wait(1000, function(){
    //do stuff
}).wait(noHover).fadeOut($);

我尝试做类似的事情:

$('.slide').hide().repeat().each(i, $).fadeIn($).wait(1000, function(){
    alert(i);
}).wait(noHover).fadeOut($);

显然,我不明白这样做的正确方法。

我使用的插件扩展:
http ://creativecouple.github.com/jquery-timing/examples/pause-cycle-on-hover.html

这是一个可以更好地分解这个的小提琴:http:
//jsfiddle.net/zGd8a/

一个解决方案:http:
//jsfiddle.net/zGd8a/8/

4

2 回答 2

2

jsFiddle 演示

$('.slide').hide().repeat().each($).fadeIn($).wait(1000, function(){
    var idx = $(this).index();  // here you go!
    $('body').append(idx); //here i need access to index number of element
}).wait(noHover).fadeOut($);
于 2012-10-21T22:23:41.253 回答
0

在这种情况下each,函数采用第二个参数(回调函数) -$并且不使用它。您应该将警报放在回调函数的主体中,该函数是 的第二个参数each,而不是wait函数。像这样:

$('.slide').hide().repeat().each(function(i, element) {
    alert(i);
}).fadeIn($).wait(1000, function(){
    //do stuff
}).wait(noHover).fadeOut($);

更多信息在这里:http ://api.jquery.com/each/

于 2012-10-21T22:18:04.460 回答