1

要素をクリックすると、いくつかのことをトリガーしようとしていますが、そのうちのいくつかは後で遅らせる必要があります..運が悪いのでこれを試しました:

$('.push').click(function() {
    $('#item1, #item2').addClass('newclass');

    $('.item3, .item4').delay('2000', function () {
        $(this).addClass('hidden'); //Or .hide perhaps?
    });

});

css の .hiden は「display: none;」です。item3 と item4 の非表示を数秒間遅らせようとしています。

ありがとう

4

3 に答える 3

3

.delay()アニメーション キュー内のアイテムにのみ影響します。クラスを追加しても、要素はアニメーション キューに入れられません。http://api.jquery.com/delay/を参照してください。

setTimeoutネイティブメソッドを使用する方がよいでしょう。

window.setTimeout(  
    function() {
        $('.item3, .item4').addClass('hidden');
    },  
    2000  
);  
于 2012-04-27T04:27:01.720 に答える
1

次のコードを使用してそれを行うことができました - http://jsfiddle.net/UzVLk/

    $('.item3, .item4').delay(2000).hide('fast');

非表示にするパラメーターを渡さなかった場合、機能していませんでした。

于 2012-04-27T04:32:19.230 に答える
0

サインは.delay( duration [, queueName] )

function(){}したがって、コールバックを 2 番目のパラメーターとして使用することはできません。これを試して:

$('.push').click(function() {
    $('#item1, #item2').addClass('newclass');
    $('.item3, .item4').delay('2000').hide('slow');
});
于 2012-04-27T04:41:41.470 に答える