2016-05-09 4 views
1

ボタンの最初のクリックでのみコードを実行する方法と、すべてのクリックで残りのコードを実行する方法はありますか?クリックイベントの中で、最初のクリックで一度コードを実行すると、残りのコードがすべてのクリックで実行されます。

$button.click(function (e) { 
    // Only run on first click 
    $element.removeClass('mobile').addClass('desktop'); 
    // Run on every click 
    $elementTwo.show() 
}); 

答えて

2

だけブールフラグ変数に

var st = true; 
$button.click(function(e) { 
    // this line only execute once, since after first execution `st` will update to false 
    st && $element.removeClass('mobile').addClass('desktop') && st = false; 
    $elementTwo.show() 
}); 
+0

感謝を使用しています。最初のクリックで複数のステートメントを実行したい場合は...これをどのように修正しますか? –

+0

@JP: 'if(st){// ........; st = false;} 'またはすべてのコード行が真実値を返し、それらの間に' && 'を使います –

1

使用jQueryのone()方法:

$button.one('click', function() { //this will run only on the first click 
    $element.removeClass('mobile').addClass('desktop'); 
}); 

$button.click(function() { //this will run for every click 
    $elementTwo.show(); 
}); 
関連する問題