【问题标题】:How does setTimeout work? [duplicate]setTimeout 是如何工作的? [复制]
【发布时间】:2016-03-15 22:02:52
【问题描述】:

-所以我显然试图让两个函数在使用 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) 

【问题讨论】:

标签: javascript settimeout setinterval


【解决方案1】:

你应该把 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);

【讨论】:

  • 我现在已经修好了。我使用 setInterval 而不是 timeout 并摆脱了 var。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-13
  • 2014-03-29
  • 1970-01-01
  • 2011-08-16
  • 1970-01-01
  • 2019-02-14
相关资源
最近更新 更多