这看起来真的很傻,但我已经阅读了几十篇类似的论坛帖子,我无法弄清楚我做错了什么。
我正在设计一个带有菜单按钮的网站,其图标在打开时会变为“X”。它会在每次点击时切换。 javascript函数运行但返回“Uncaught TypeError:无法设置属性'显示'未定义”当它到达将菜单按钮的style.display更改为“none”的行时。
任何想法都将受到高度赞赏。
HTML:
<img id="menuIconImage" class="menuIcon" src="resources/menu.png" onclick="menuToggle()">
<img id="menuIconImageClose" class="menuIcon" src="resources/close.png" onclick="menuToggle()">
CSS:
.menuIcon {
position: fixed;
left: 33px;
top: 178px;
width: 35px;
height: 35px;
cursor: pointer;
}
#menuIconImageClose {
//the "close" image/button is hidden by default.
display: none;
}
使用Javascript:
var menuState = 0;
function menuToggle() {
"use strict";
if (menuState === 0) {
document.getElementById("menuIconImage").stlye.display = "none";
document.getElementById("menuIconImageClose").style.display = "block";
menuState = 1;
} else if (menuState === 1) {
document.getElementById("menuIconImageClose").style.display = "none";
document.getElementById("menuIconImage").style.display = "block";
menuState = 0;
}
}
答案 0 :(得分:0)
有一个拼写错误的单词&#39; stlye&#39;这应该是&#39; style&#39;在这一行:
document.getElementById("menuIconImage").stlye.display = "none";
应该是
document.getElementById("menuIconImage").style.display = "none";
我确定问题的分析从错误文本开始,表明问题不在于找到元素(即document.getElementById("menuIconImage")
部分工作)。如果找不到该元素,我们会收到文字Uncaught TypeError: Cannot read property 'style' of null
的错误消息。这缩小了问题的范围。