Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在重新加载页面时将javascript计时器设置回零_Javascript - Fatal编程技术网

如何在重新加载页面时将javascript计时器设置回零

如何在重新加载页面时将javascript计时器设置回零,javascript,Javascript,我使用这个计时器和页面加载器。问题是,如果页面在计时器启动之前完成加载,那么下次加载页面时,计时器将在上次执行页面时停止的位置启动。我需要确保页面重新加载时count变量设置为零。提前谢谢 <script> var myVar=setInterval(function(){myTimer()},1); var count = 0; function myTimer() { if(count < 100) { $('.pro

我使用这个计时器和页面加载器。问题是,如果页面在计时器启动之前完成加载,那么下次加载页面时,计时器将在上次执行页面时停止的位置启动。我需要确保页面重新加载时count变量设置为零。提前谢谢

<script>
    var myVar=setInterval(function(){myTimer()},1);
    var count = 0;
    function myTimer() {
        if(count < 100) {
        $('.progress').css('width', count + "%");
        count += 0.025;
        document.getElementById("demo").innerHTML = Math.round(count) +"%";
        // code to do when loading
    } else if(count > 100) {
        // code to do after loading
        count = 0;
        }
    }
</script>

var myVar=setInterval(函数(){myTimer()},1);
var计数=0;
函数myTimer(){
如果(计数<100){
$('.progress').css('width',count+“%”);
计数+=0.025;
document.getElementById(“demo”).innerHTML=Math.round(count)+“%”;
//加载时要执行的代码
}否则,如果(计数>100){
//加载后要执行的代码
计数=0;
}
}

您可以将代码包装成一个函数,该函数将重置计数器并再次启动:

<script>
    var myVar;
    var count;
    function restartTimer() {
        count = 0;
        clearInterval(myVar);
        myVar = setInterval(function(){ myTimer() }, 1);
    }
    function myTimer() {
        if(count < 100) {
            $('.progress').css('width', count + "%");
            count += 0.025;
            document.getElementById("demo").innerHTML = Math.round(count) +"%";
            // code to do when loading
        } else if(count > 100) {
            // code to do after loading
            count = 0;
        }
    }
</script>

在您的情况下,您需要在每次调用PHP页面之前调用它。

如果重新加载页面,当前代码将无法继续工作。它将再次执行,计时器将从0开始再次计数。请描述一下“重新加载页面”是什么意思?例如,我读了一个表并将结果发送到另一个.php页面,但计数值仅为80,这很好,这只是一个经过计算的猜测。然后我再次调用该页,但要读取不同的表,计数值从80开始,而不是从0开始。我希望这能让森切克明白。请查看下面我的答案。
resetTimer();