我想添加一个类,等待2秒并添加另一个类.
.addClass("load").wait(2sec).addClass("done");
Run Code Online (Sandbox Code Playgroud)
有什么办法吗?
ctc*_*rry 167
setTimeout将在一段时间的延迟(以毫秒为单位)后执行一些代码.但是,一个重要的注意事项:由于javascript的性质,其余代码在设置计时器后继续运行:
$('#someid').addClass("load");
setTimeout(function(){
$('#someid').addClass("done");
}, 2000);
// Any code here will execute immediately after the 'load' class is added to the element.
Run Code Online (Sandbox Code Playgroud)
Osc*_*son 33
那就是.delay().
如果你正在做AJAX的东西,你真的不应该只是自动写"完成"你应该真的等待响应,看看它是否真的完成了.
小智 19
意识到这是一个老问题,但我写了一个插件来解决这个问题,有人可能觉得有用.
https://github.com/madbook/jquery.wait
让你这样做:
$('#myElement').addClass('load').wait(2000).addClass('done');
Run Code Online (Sandbox Code Playgroud)
小智 17
delay()不会完成这项工作.delay()的问题在于它是动画系统的一部分,只适用于动画队列.
如果你想在执行动画之外的事情之前等待怎么办?
用这个:
window.setTimeout(function(){
// do whatever you want to do
}, 600);
Run Code Online (Sandbox Code Playgroud)
会发生什么?:在这种情况下,它会在执行大括号内指定的代码之前等待600毫秒.
一旦我弄明白这一点,这对我帮助很大,并希望它也会对你有所帮助!
| 归档时间: |
|
| 查看次数: |
477032 次 |
| 最近记录: |