mat*_*att 39 jquery append delay
那有什么不对?
$('body').append("<div class='message success'>Upload successful!</div>");
$('.message').delay(2000).remove();
Run Code Online (Sandbox Code Playgroud)
我想在我的html文档中附加成功消息,但仅持续2秒.之后,应该再次删除div.
我在这做错了什么?
问候
Nic*_*ver 97
setTimeout()
直接使用(.delay()
内部使用)在这里更简单,因为.remove()
它不是排队的函数,总体上它应该如下所示:
$('body').append("<div class='message success'>Upload successful!</div>");
setTimeout(function() {
$('.message').remove();
}, 2000);
Run Code Online (Sandbox Code Playgroud)
.delay()
是用于动画(或任何命名的)队列,要使用它,你必须做以下事情:
$("<div class='message success'>Upload successful!</div>").appendTo('body')
.delay(2000).queue(function() { $(this).remove(); });
Run Code Online (Sandbox Code Playgroud)
哪个有效,这里 ......但是为了链接IMO ,这只是矫枉过正而且非常低效.通常你也必须调用dequeue或下一个函数,但是因为你要删除元素...
我认为正确的方法是使用jQuery队列方法:
$("<div class='message success'>Upload successful!</div>")
.appendTo('body')
.delay(2000)
.queue(function() {
$(this).remove();
});
Run Code Online (Sandbox Code Playgroud)