我正在处理的代码就是这个 -
var winW;
if (document.body && document.body.offsetWidth) {
winW = document.body.offsetWidth;
}
if (document.compatMode=='CSS1Compat' &&
document.documentElement &&
document.documentElement.offsetWidth ) {
winW = document.documentElement.offsetWidth;
}
if (window.innerWidth && window.innerHeight) {
winW = window.innerWidth;
}
if (winW = 1265) {
function setPosition()
{
document.getElementById("wblogo").style.left="1050px";
}
}
当我将代码与onload
标记中的body
事件一起使用时,代码可以正常运行。
但是我想在加载页面时使用它。所以我使用了以下代码 -
var winW;
if (document.body && document.body.offsetWidth) {
winW = document.body.offsetWidth;
}
if (document.compatMode=='CSS1Compat' &&
document.documentElement &&
document.documentElement.offsetWidth ) {
winW = document.documentElement.offsetWidth;
}
if (window.innerWidth && window.innerHeight) {
winW = window.innerWidth;
}
if (winW = 1265) {
document.getElementById("wblogo").style.left="1050px";
}
但是这段代码不起作用。请帮忙。
答案 0 :(得分:3)
我的猜测是,当您删除onload
时,您将脚本留在文档的head
部分。您尝试使用的元素(document.body
,您的wblogo
元素)尚不存在,因此代码无法与它们进行交互。当您使用onload
时,您的代码没有立即运行,而是在所有图像等加载后,在页面加载周期的后期非常,因此元素确实存在
相反,请将代码放在文档 end 的script
标记中,就在结束</body>
标记之前。这样,您尝试使用的元素就会存在。
更多: