0

私もこれを見ましたが、この解決策はまだ役に立ちませんでした: jqueryでX秒後に関数を実行します

これが私のコードです:

// featured bounce
$('#featured .animated').hover(function() {
    $(this).addClass('bounce');
    setTimeout( function(){
        $(this).removeClass('bounce');},
        1300
    );
});

クラスの追加は機能しますが、setTimeout 試練は機能しません。実行すらされず、Chrome コンソールに javascript エラーがスローされません。すべてが正しく入力されたように感じます。 addClass() の後の .animated オブジェクトのクラスは次のようになります。

「アニメーションバウンス」

アニメーションは再生されますが、クラス属性から「バウンス」が削除されることはありません。

何か助けはありますか?

4

3 に答える 3

-2
$('#featured .animated').hover(function() {
    $(this).addClass('bounce');
    (function(that) {
        setTimeout( function(){
            // use `that` instead of `this`
            $(that).removeClass('bounce');
        }, 1300);
     })(this); //pass `this` into this function
});
于 2013-08-29T19:04:28.190 に答える