gpt4 book ai didi

javascript - 更新javascript中的延迟函数

转载 作者:行者123 更新时间:2023-11-30 20:30:13 24 4
gpt4 key购买 nike

我有一个简单的 javascript 函数,可以加载文档就绪:

var start = 1;
var speed = 1000;
$(document).ready(function () {
go();
setInterval(function () {
go();
}, speed);

这是函数的详细信息:

function go() {
$("#score").html(start.toLocaleString());
start += 1;
}

这基本上是一个从数字 1 开始到无穷大的计数器,速度为 1000 毫秒。事情是这样的:我有另一个功能:

function modify() {
speed = 500;
}

调节 main 函数的 setIntval 速度。问题是它仅适用于页面刷新。如何在不刷新页面的情况下实时更新?

最佳答案

你不能更新当前的,你必须停止它并设置一个新的计时器,它做同样的事情但有不同的延迟。

var speed = 1000;
var start = 1;
function go() {
$("#score").html(start.toLocaleString());
start += 1;
}

function startGoTimer(){
return = setInterval(function () {
go();
}, speed);
}

function modifyTimer( previousTimer, newDelay=500) {
clearInterval(previousTimer);
speed = newDelay;
startGoTimer();
}

var timer = startGoTimer();
// Some code
modifyTimer(timer, 500);

为了好玩,我只是测试了如果你只是改变时间会发生什么:

var timing = 1000;
var interval = setInterval(function(){console.log("test")}, timing);
// Now we get a log every 1000ms, change the var after some time (via console):
timing = 10;
// still an interval of 1000ms.

关于javascript - 更新javascript中的延迟函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50436399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com