我创建了这段代码,因此我的页面将被隐藏,直到完成加载。但是我的代码并没有像我预期的那样工作。我希望这会隐藏BODY
,直到OnLoad
事件被触发。
但是,它只是保持隐藏状态。
如果有更好的方法可以隐藏BODY
直到它完成加载,或者这个错误有什么问题,那么任何帮助都会受到赞赏。
这是我迄今为止所尝试的内容:
function unveil() {
var thebod = document.getElementById("testbody");
thebod.STYLE = "display: block;"
}

<HTML>
<HEAD>
<TITLE>HELLO</TITLE>
</HEAD>
<BODY ID="testbody" ONLOAD="unveil();" STYLE="display: none;">
<div align="CENTER">
HELLO WORLD!
</div>
</BODY>
</HTML>
&#13;
答案 0 :(得分:3)
DOMContentLoaded
对象的window
事件可以执行此操作。但是,不要隐藏身体,而是隐藏包装。并且,在设置样式时,请确保设置CSS属性的样式,而不是样式对象本身。
window.addEventListener("DOMContentLoaded", function(){
document.getElementById("wrapper").style.display = "block";
});
#wrapper { text-align:center; background:#e0e0e0; display:none;}
<HTML>
<HEAD>
<TITLE>HELLO</TITLE>
</HEAD>
<BODY>
<div id="wrapper">
HELLO WORLD!
<!-- The following is only added to create a delay in the
parsing of the document -->
<script>
for(var i = 0; i < 100000000; ++i){ var x = i / 3.14; }
</script>
</div>
</BODY>
</HTML>
答案 1 :(得分:1)
您没有正确设置元素'样式':
您可以这样做:
element.style.display = "block";
或
element.setAttribute('style', "display: block");
这是一个有效的例子:
function unveil() {
var thebod = document.getElementById("testbody");
thebod.style.display = "block";
}
<HTML>
<HEAD>
<TITLE>HELLO</TITLE>
</HEAD>
<BODY ID="testbody" ONLOAD="unveil();" STYLE="display: none;">
<div align="CENTER">
HELLO WORLD!
</div>
</BODY>
</HTML>
答案 2 :(得分:0)
您的问题在这里:
thebod.STYLE = "display: block;"
应该是:
thebod.style.display = 'block';
这是完整的方法(使用不引人注目的javascript):
var body = document.getElementsByTagName('body')[0];
function unveil() {
body.style.display = 'block';
}
window.addEventListener('load', unveil, false);
body {
display: none;
}
div {
text-align: center;
}
<div>HELLO WORLD!</div>
答案 3 :(得分:-1)
UPDATE t1
SET BALANCE = t1.BALANCE - t2.sum_amount
FROM Table1 t1 JOIN
(SELECT ID, SUM(Amount) as sum_amount
FROM TABLE2
GROUP BY ID
) t2
ON t2.ID = t1.ID ;