单击下拉菜单



当我第一次点击应该切换menuContentmenu文本时,它会显示menuContent,这是要显示的。然而,在它显示之后,它不会隐藏,因此display = block不会返回到display = none

我尝试使用show值,但它没有工作,所以我在if语句中使用display = block代替。

(顺便说一下:menu=按钮切换文本和menuContent=文本应该显示或隐藏)

这是JavaScript:

menu.addEventListener('click', menuClick, false);
menuContent.style.display = 'none'
function menuClick() {
menuContent.classList.toggle('show');
if (menuContent.style.display = 'none') {
menuContent.style.display = 'block'
} else {
menuContent.style.display = 'none'
}
}

所以if statement的第一部分有效,但else的部分无效。

如何解决这个问题?

menuContent.style.display = 'none'

应该

menuContent.style.display === 'none'

否则你将把menuContent设置回"display: none"一次。

提醒'='和'==='!

menuContent.style.display = 'none'是变量赋值,不是相等性检验。您需要使用=====(松散检查)。

所以,你总是在第一种情况下结束因为你总是给它赋值

最新更新