2017-08-18 12 views
0

要素の5回のクリックごとに関数を呼び出すスクリプトを作成しました。私が今したいのは、5回のクリックごとにアクションを繰り返すことです。ただ1回だけ呼び出すのではありません。アクションが呼び出されたときに変数カウントをリセットする方法はありますか?一定のクリックごとにJavaScriptアクションを繰り返しますか?

$(document).ready(function(){ 
var count=0; 
$(".logo").click(function(){ 
    count+=1; 
    if (count==5) { 
     $("body").toggleClass('easteregg'); 
    } 
    }); 
}); 
+3

count = 0もう一度オプションはありませんか? –

+0

serendipityには良い解決策がありますが、 'if'の中に' count = 0'を設定するだけの簡単なことができます。 – Chris

+0

複数の要素をサポートしたい場合は、jQuery.dataを使用してcount変数データを要素とともに保存できます。 https://jsfiddle.net/xdfj01pr/ –

答えて

5

あなたがそれをリセットする必要はありませんだけで

if(count % 5 === 0){ 
    //your code here 
} 

を行うこれは、カウントはアクションの後にカウンタをリセットしないのはなぜ5

+0

あなたの答えをありがとうが、私はこれがどのように機能するか完全に理解していません。どうか説明していただけますか?私はJavascriptの初心者です。 – Dimitris

+0

@ Dimitris1337 '%'は 'count'を除算して余りを返すことを意味します。したがって、このコードでは、countを5で割り、余りが0の場合、カウントは5の倍数、つまり5回のクリックであることを意味します。 – forJ

+0

だから、このようなものでしょうか? $(ドキュメント).ready(関数(){ VARカウント= 0; $(」のロゴ。 ")をクリックします(関数(){ ("(%0){ $を5 ===を数える場合。 "body").toggleClass( 'easteregg'); } }); }); – Dimitris

0

の倍数であるたびに呼び出されますか?

$(document).ready(function(){ 
var count=0; 
$(".logo").click(function(){ 
    count+=1; 
    if (count==5) { 
     $("body").toggleClass('easteregg'); 
     count = 0; 
    } 
    }); 
}); 
関連する問題