8
$("#div1, #div2").fadeIn('500',function(){
    {
        console.log('Test');
    }
});

ここでフィドル: http://jsfiddle.net/y97h9/

上記のコードは、コンソールに 'Test' を 2 回表示します。一度だけ印刷するにはどうすればよいですか。出来ますか?

4

3 に答える 3

3

コールバックは、一致した要素ごとに 1 回実行されます。ただし、フラグを設定して、既に実行されているかどうかを確認できます。

var hasRun = false;
$("#div1, #div2").fadeIn('500', function() {
    if (hasRun) return;
    console.log('Test');
    hasRun = true;
});
于 2013-04-08T14:54:18.417 に答える
-1

console.log('Test'); を防ぐためにブール値フラグを使用します。2回呼び出されるのを防ぎます。

var isCalled = false;
$("#div1, #div2").fadeIn('500',function(){
    if(!isCalled) {
        isCalled = true;
        console.log('Test');
    }
});
于 2013-04-08T14:58:45.077 に答える