2017-02-28 1 views
-1

こんにちは:) parseIntを使用して、特定のボタンを何回クリックしたかを数える関数を作成しました。今私は、この機能を調整したり、一定量のクリックでメッセージを表示する別の機能を作成したいと考えています。 これは私がクリックカウント方法です:

var cnt=0; 
function CountBats(){ 
cnt=parseInt(cnt)+parseInt(1); 
var divData=document.getElementById("showBats"); 
divData.innerHTML="Total number of bats: "+cnt +""; 
}; 

これは私がメッセージを表示するだろうと思ったものですが、それは動作しません:

私は内側のif文を入れたときにそれが仕事をした
var cn=0; 
function Nice(){ 
    cn=parseInt(cn)+parseInt(1); 
    var divNice=document.getElementById("Nice"); 
    if (cn = 1) { 
    divNice.style.animation="nice 2s ease-out alternate 2"; 
    divNice.innerHTML="Nice!";}}; 

カウント関数ですが、その問題は、ボタンが2回クリックされた後にカウンタが停止したことです。質問は、私はこの仕事をどうやって作るのですか? (NB:私はJavaScriptでこれを実行したいと思い、ないjqueryの)事前に 感謝:)

答えて

2

あなたは一つだけでは代わりに

if (cn == 1) 

if (cn = 1) 

をしたので、それはあるかもしれません=、あなたは単にcnを1に設定します。==を使うと、それらが等しいかどうかチェックしています。

+1

ParseIntを使用する必要はありませんああ、それはそれでした!私はそれを完全に見落とした。ありがとう、それは今働く:) – Eva

1

これにはparseIntは必要ありません。論理等価演算子も間違っています。

あなたのリファクタリング、コードは次のようになります。あなたが比較するの代わりに「== 'の=を使用していた

var cn = 0; 
function Nice() { 
    cn++; // Read more about the ++ operator 
    var divNice = document.getElementById("Nice"); 
    if (cn === 1) { 
    divNice.style.animation="nice 2s ease-out alternate 2"; 
    divNice.innerHTML="Nice!"; 
    } 
} 
1

  • あなたはこの場合

var cn = 0; 
 
var divNice = document.getElementById("Nice"); 
 

 
function Nice() { 
 
    cn++; 
 
    if (cn == 1) { 
 
    divNice.style.animation = "nice 2s ease-out alternate 2"; 
 
    divNice.innerHTML = "Nice!"; 
 
    } 
 
};
<button onclick="Nice()">Click me</button> 
 
<div id="Nice"></div>