Javascript检查number = variable

时间:2015-07-23 17:50:24

标签: javascript html dom

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>

图像根本不会出现

2 个答案:

答案 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>

哪一个是最佳做法?这是一场永恒的辩论。我更喜欢听众,所以代码都在顶部,但很多人不同意。