2017-07-22 16 views
0

私のウェブサイトのjavascript上でクリックイベントを使用していて、見出しがクリックされると情報ブロックが表示されます。その部分は機能する。しかし、もう一度それをクリックすると "none"に戻りません。なぜ私のディスプレイブロックが再表示されませんか?

var x = 1; 

if(x%2 != 0){ 

    document.getElementById("infoForEmployers").style.display = "block"; 
    x++; 

}else{ 

    document.getElementById("infoForEmployers").style.display = "none"; 
    x++; 

} 

console.log(x); 

コンソールのログに気にしないでください。xが増えているかどうかを確認しようとしていました。したがって、基本的に1クリックおきに表示または非表示にする必要があります。

+0

を切り替えるには、この機能を使用します関数が実行されるたびに、 'x'は' 1'に初期化されます。 –

+0

ああ、どうすれば回避できますか? –

+0

'var x = 1;'を関数外に移動します。 –

答えて

0

x変数は、関数を設定するたびに1に設定されています。

それグローバル変数作り、あなたは大丈夫:

はこれを試してみてください:すべてのコードが入っている場合

window.x = window.x || 0 ; 

if(window.x%2 != 0){ 
    document.getElementById("infoForEmployers").style.display = "block"; 
    window.x++; 
}else{ 

    document.getElementById("infoForEmployers").style.display = "none"; 
    window.x++; 
} 

console.log(window.x); 
0

は要素

function myFunction() { 
    var x = document.getElementById('myDIV'); 
    if (x.style.display === 'none') { 
     x.style.display = 'block'; 
    } else { 
     x.style.display = 'none'; 
    } 
} 
関連する問題