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