var Period =1;
if(Period==1){
document.getElementById("Main").style.backgroundImage = "url('Main_Background_Grass_1.png')";
}
出于某种原因,这不会起作用。图像位置是正确的,但我确定有问题。
我是javascript的新手
继承更多代码
<script type="text/javascript">
var Knowledge = 0;
var Period =1;
if(Period==1){
document.getElementById("Main").style.backgroundImage = "url('Main_Background_Grass_1.png')";
}
</script>
<div id="Main">
<div id="Toolbar">
Oh noes! Something Went Wrong
</div>
</div>
图像根本不会出现
答案 0 :(得分:4)
在您调用函数时找不到元素,将javascript放在关闭正文标记之前
<div id="Main">
<div id="Toolbar">
Oh noes! Something Went Wrong
</div>
</div>
<script type="text/javascript">
var Knowledge = 0;
var Period =1;
if(Period==1){
document.getElementById("Main").style.backgroundImage = "url('Main_Background_Grass_1.png')";
}
</script>
答案 1 :(得分:1)
Uncaught TypeError: Cannot read property 'style' of null
那是因为元素尚未加载。有两种方法可以确保代码仅在页面准备就绪时运行。一种是将代码放在正文的底部,因此页面已经加载。另一种是将它放在窗口加载事件的事件监听器中:
<script type="text/javascript">
window.addEventListener("load", function(e) {
// code goes here
});
</script>
哪一个是最佳做法?这是一场永恒的辩论。我更喜欢听众,所以代码都在顶部,但很多人不同意。