试图做一个天文台,但失败了

时间:2016-11-05 19:14:41

标签: javascript html

我正在尝试做最简单的天文台,只有一个数字可以保持计数无限。请记住,我正在尝试更正 自己的代码 ,请不要回复"这篇帖子是..."的副本,因为我可能不会理解其他例子。出于某种原因,我的代码无法正常工作,请提供帮助。

<!doctype html>
<html>
    <head>
    <style>
    #screen {
    position: relative;
    border: 2px solid black;
    width: 800px;
    height: 600px;
    top: 50px;
    left: 500px;
    }

    #chronometer {
    position: absolute;
    top: 150px;
    left: 300px;
    font-size: 100px;
    width: 300px;
    height: 300px;
    }
    </style>
    </head>
    <body>
    <div id="screen">
        <div id="chronometer"></div>
    </div>
    <script>
    var chronometer = setInterval(increaseChronometer, 1000);
    function increaseChronometer () {
        var chronometerNumber = 1;
        document.getElementById("chronometer").innerHTML = chronometerNumber;
        chronometerNumber++;
    }
    </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:3)

您正在定义&#34; chronometerNumber&#34;函数内部的变量,因此它被创建并初始化为&#34; 1&#34;每次调用该函数时。

只需移动线&#34; var chronometerNumber = 1&#34;在功能之外它应该可以正常工作。

答案 1 :(得分:0)

嗨,我想我明白了!

<!doctype html>
<html>
    <head>
    <style>
    #screen {
    position: relative;
    border: 2px solid black;
    width: 800px;
    height: 600px;
    top: 50px;
    left: 500px;
    }

    #chronometer {
    position: absolute;
    top: 150px;
    left: 300px;
    font-size: 100px;
    width: 300px;
    height: 300px;
    }
    </style>
    </head>
    <body>
    <div id="screen">
        <div id="chronometer"></div>
    </div>
    <script>
    var chronometerNumber = 1;
    var chronometer = setInterval(  function increaseChronometer () {
    document.getElementById("chronometer").innerHTML = chronometerNumber;
    chronometerNumber++;
    }, 1000); 
    </script>
    </body>
</html>

setInterval (){}函数的引用中写道,你必须制作anonimus函数,每次超时后都会调用它,我做了它我把你的函数放在setInterval function我也移动函数外的var chronometerNumber = 1;声明,因为如果每次调用该函数时它都在那里,你的计数器将一次又一次地从一个开始,依此类推,你每次只会看到一个。我回家我很有帮助,对不起英语。