Javascript-为什么不是't此setTimeout函数正在工作
Javascript - Why isn't this setTimeout function working?
就我而言,我似乎无法从这个片段中获得任何结果。我希望函数在每次执行后向id为"ring"
的所有元素添加一个额外的类,然后再添加一个延迟。setTimeout()
函数的其他示例就是这样编写的。
function flash_rings()
{
var e = document.getElementById("ring");
setTimeout(function(){e.className = "ring hover";}, 1000);
setTimeout(function(){e.className = "ring";}, 1000);
}
这个类已经编写并测试过了,所以我知道这不是CSS的错。该函数将在<body>
的onload=
事件中调用。代码片段位于页面的最底部,紧挨着</body>
标记的上方。
帮助?
谢谢,
~锡安
正如Pablo所说,它们一个接一个地发生,一秒钟后。
如果您希望第二次发生在第一次之后的第二次:
function flash_rings()
{
var e = document.getElementById("ring");
setTimeout(function(){
e.className = "ring hover";
setTimeout(function(){
e.className = "ring";
}, 1000);
}, 1000);
}
或
function flash_rings()
{
var e = document.getElementById("ring");
setTimeout(function(){ e.className = "ring hover"; }, 1000);
setTimeout(function(){ e.className = "ring"; }, 2000);
}
后一个连接有点少,但你可以相当肯定的是,第二个连接会在第一个连接后一秒发生,除非页面真的忙于做其他事情。(如果第一个不是也是计时器,你就不会这么做;如果是ajax之类的,你肯定会等到第一个完成后再安排第二个。)
它们几乎都在同一个实例中启动。一个超时不会等待另一个超时。把那一秒改成2000:
setTimeout(function(){e.className = "ring";}, 2000);
相关文章:
- setTimeout可以与闭包内的函数一起使用吗
- setTimeout函数能否在其前面的代码执行之前激发
- 在setTimeout中调用相同的函数
- 将jQuery对象传递到setTimeout递归函数中
- 添加一个setTimeout方法会使jQuery悬停方法忽略setTimeout方法中的函数
- JS:setTimeout函数的UI计数
- settimeout调用的函数未结束
- 调用setTimeout内部的函数时发生引用错误
- Jasmine:测试setTimeout函数会抛出一个错误
- setTimeout()在忽略间隔的情况下重复调用函数
- 为什么我需要在setTimeout中有匿名函数才能使此代码工作
- 重复调用的同一函数会重置setTimeout内部函数
- 如何在 javascript 中测试 setTimeout 内部的函数
- setTimeout是否创建函数实例
- 通过fn.apply或fn.bind将函数传递给setTimeout
- setTimeout() 函数在超时持续时间之前调用
- Javascript/Jquery setTimeout 函数不适用于长 html
- 如何让 setTimeout 函数运行,然后停止使用循环
- 嵌套回调函数setTimeout();
- Javascript函数setTimeout和setIntervall不起作用