将样式表添加到类后,Javascript 无法继续
2015-05-22
106
如果设备具有特殊宽度,我想显示一个 div 容器。我做了一个简单的 if 条件,它运行良好。
我想在代码中添加第二个函数,但该函数未被调用。尝试后,我发现代码在 document.getElementyById-Code 之后停止。
如果在 if 条件中在 getElementById 之前 调用 alert("Hello World"),则会调用它。如果在 if 条件中在 getElementById 之后 调用它,则不再调用它。
为什么进度卡在那里?
控制台输出: [错误] TypeError:null 不是对象(评估“document.getElementById("whitecontainer").style') setHeightandWidth (-Link removed-, line 402) onresize (-Link removed-, line 382)
但是对象不能为 null,因为样式更改确实有效,只是在执行调整大小后卡住了。
谢谢帮助!
function setHeightandWidth() {
var body = document.body,
html = document.documentElement;
var height = (Math.max(body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight) - 75 - 248);
var width = document.body.clientWidth;
if (width < 1199) {
document.getElementById("whitecontainer").style.display = "none";
alert("Hello World!");
}
if (width >= 1199) {
width = 1140;
document.getElementById("whitecontainer").style.display = "inherit";
}
var white_container = document.getElementById("whitecontainer");
white_container.style.height = height + "px";
white_container.style.width = width + "px";
}
2个回答
问题出在这行
document.getElementById("whitecontainer").style.display
javascript 无法找到 id“whitecontainer”,这就是为什么它会抛出空异常并且脚本中断
MyTwoCents
2015-05-22
警报不起作用可能意味着它之前的行导致了错误。
这些行
white_container.style.height = height + "px";
white_container.style.width = width + "px";
运行了吗?
我感觉每次使用文档时你的代码都会失败。XXXXXX
'whitecontainer' 可能不是真正的元素
steve
2015-05-22