首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery在5秒后删除.append

JQuery在5秒后删除.append
EN

Stack Overflow用户
提问于 2010-05-04 22:03:48
回答 8查看 17.4K关注 0票数 10

哦,天哪,今天这里太多了-哦

伙计们,最好的办法是:

代码语言:javascript
复制
$j('.done').append('Your services have been updated');

(这部分工作已经完成)

但是在5秒后删除追加,这样如果有人重新提交表单(允许),追加就不会继续添加文本?即更新一次“您的服务已更新”,两次将显示“您的服务已更新您的服务已更新”,但我只希望您的服务已更新显示一次

EN

回答 8

Stack Overflow用户

发布于 2010-05-04 22:06:02

代码语言:javascript
复制
(function (el) {
    setTimeout(function () {
        el.children().remove('span');
    }, 5000);
}($j('.done').append('<span>Your services have been updated</span>')));

我知道这看起来很奇怪。我这样做是为了自我约束。当匿名函数被调用时,追加立即完成...然后,附加的元素被保存为该匿名作用域中的el,该匿名作用域本身在5000ms后触发timeout时被删除。

编辑:

我编辑了上面的函数,所以它不会破坏父元素(很抱歉)

票数 20
EN

Stack Overflow用户

发布于 2011-02-18 22:38:03

  • DEMO: http://so.lucafilosofi.com/jquery-remove-append-after-5-seconds

通过递增或递减delay(#)来设置时间

代码语言:javascript
复制
$j('.done').delay(2000).fadeOut(200,function() {
    $(this).html('Your services have been updated').fadeIn(200);
});
票数 8
EN

Stack Overflow用户

发布于 2012-06-19 01:19:21

还有另一种解决方案:)代码做什么:

  1. 使用‘.add- element
  2. appends’类创建一个隐藏的.add it to元素。
  3. 淡入新跨度,
  4. 在4.5秒后淡出并自行删除。

jQuery('',{ style:'display:none‘}) .html('Mesaj trimis...') .appendTo(jQuery('.add-comment')) .fadeIn('slow',function(){ var el = jQuery(this);setTimeout(函数(){ el.fadeOut('slow',function(){ jQuery(this).remove();});},4500);});

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2765945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档