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関数は 2 番目のパラメーター (コールバック関数) を取り、何も$しません。関数ではなく、の 2 番目のパラメーターであるコールバック関数の本体にアラートを配置する必要があります。このような:eachwait

$('.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 に答える