如何设置元素的html,等待2秒,然后将html设置为其他内容?
示例:$("div").html("clicked").delay(2000).html("2 seconds have passed");
会发生什么:div从蝙蝠那里“2秒钟过去”,而不是说“点击”2秒,然后显示“2秒已经过去”。
我是否需要执行.delay(2000, function() { $("div").html("2 seconds have passed"); })
?
此处的实例:http://jsbin.com/UfaYusU/1/edit
谢谢!
答案 0 :(得分:3)
$ .delay用于延迟队列中的动画,而不是停止执行。
试试这个:
setTimeout(function() {
// Do something after 2 seconds
}, 2000);
答案 1 :(得分:2)
.delay()
仅适用于动画功能,您可以使用.promise()
方法:
$("div").html("clicked").delay(2000).promise().done(function() {
$(this).html("2 seconds have passed");
});
答案 2 :(得分:0)
如果您想在延迟后运行一些代码,请使用setTimeout()
$("button").click(function(e) {
$("div").html("clicked");
setTimeout(function() {
$("div").html("2 seconds have passed");
}, 2000);
});