传递self时jquery each()索引

时间:2012-10-21 22:06:32

标签: javascript jquery

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

$('.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/

2 个答案:

答案 0 :(得分:2)

<强> jsFiddle demo

$('.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($);

答案 1 :(得分: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/