2017-11-30 9 views
-1

ボタン(アイコン)がクリックされたときにナビゲーションバーを表示しようとしています。もう一度クリックすると表示されなくなります。最初の部分は表示されているところで動作しますが、もう一度クリックすると何も起こりません。私はなぜ第二の部分が無視されているのか理解できません。あなたがdisplay文字列値を比較する際equality operator===を使用する必要がjavascript display none not working

let nav = document.querySelector("nav"); 
let icon = document.querySelector(".mobile-icon"); 
console.log(nav); 
icon.addEventListener("click", showMenu) 

function showMenu() { 
if (nav.style.display = "none"){ 
nav.style.display = "block"; 
} else { 
    nav.style.display = "none"; 
} 

} 
+1

'='は代入演算子です。== 'と' === 'は比較のためのものです。 – Pointy

答えて

1

をありがとうございます。

function showMenu() { 
    if (nav.style.display === "none"){ 
    nav.style.display = "block"; 
    } else { 
    nav.style.display = "none"; 
    } 
} 
+0

うわー、それは愚かな間違いだった。どうもありがとう。私は許可されたときに正しいとマークします。 – JMay

+0

よろしくお願いします。ありがとう。 –