在jQuery的wait()或sleep()函数?
我想添加一个类,等待2秒钟,并添加另一个类。
.addClass("load").wait(2sec).addClass("done");
有什么办法吗?
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.
意识到这是一个老问题,但我写了一个插件来解决这个问题,有人可能会觉得有用。
https://github.com/madbook/jquery.wait
让你这样做:
$('#myElement').addClass('load').wait(2000).addClass('done');
delay()不会完成这项工作。 delay()的问题是它是animation系统的一部分,只适用于animation队列。
如果你想在执行animation之外的东西之前呢?
用这个:
window.setTimeout(function(){ // do whatever you want to do }, 600);
会发生什么情况?在这种情况下,它会在执行花括号内指定的代码之前等待600毫秒。
一旦我明白了这一点,这对我有很大的帮助,并希望它能帮助你!
有一个function,但它是额外的: http : //docs.jquery.com/Cookbook/wait
这个小片段可以让你等待:
$.fn.wait = function(time, type) { time = time || 1000; type = type || "fx"; return this.queue(type, function() { var self = this; setTimeout(function() { $(self).dequeue(); }, time); }); };
使用setTimeout函数,例如在这里访问