设置超时如何工作

How does setTimeout work?

本文关键字:工作 何工作 超时 设置      更新时间:2023-09-26

所以我显然试图让两个函数在使用 setTimeout 的计时器上自动运行。但是我不确定它是如何工作的。当我搜索它时,我只能看到它在函数中。那么我如何在函数之外拥有它呢?

function ChangeImage() {
    if(position < TrafficL.length) {
    document.getElementById("myImage").src = TrafficL[position];
    position++
    }
}
function RestartPos() {
    if (position==3)
    document.getElementById("myImage").src = TrafficL["position"]
    position=0

    var setTimeout = (ChangeImage(),1500)
    var setTimeout = (RestartPos(),6000) 

你把setTimeout作为一个函数调用:

setTimeout(ChangeImage,1500);
setTimeout(RestartPos,6000);

ChangeImageRestartPos就像引用函数的变量。如果你在它们后面加上括号意味着你立即调用它们,但你想在给定时间后调用它们。

不过,您可以通过setTimeout()将值返回存储在变量中,但这仅用于稍后取消倒计时:

// nothing happens, because the timeout was cancelled in 1.5s
var t = setTimeout(ChangeImage,1500);
clearTimeout(t);