哦,天哪,今天这里太多了-哦
伙计们,最好的办法是:
$j('.done').append('Your services have been updated');(这部分工作已经完成)
但是在5秒后删除追加,这样如果有人重新提交表单(允许),追加就不会继续添加文本?即更新一次“您的服务已更新”,两次将显示“您的服务已更新您的服务已更新”,但我只希望您的服务已更新显示一次
发布于 2010-05-04 22:06:02
(function (el) {
setTimeout(function () {
el.children().remove('span');
}, 5000);
}($j('.done').append('<span>Your services have been updated</span>')));我知道这看起来很奇怪。我这样做是为了自我约束。当匿名函数被调用时,追加立即完成...然后,附加的元素被保存为该匿名作用域中的el,该匿名作用域本身在5000ms后触发timeout时被删除。
编辑:
我编辑了上面的函数,所以它不会破坏父元素(很抱歉)
发布于 2011-02-18 22:38:03
通过递增或递减delay(#)来设置时间
$j('.done').delay(2000).fadeOut(200,function() {
$(this).html('Your services have been updated').fadeIn(200);
});发布于 2012-06-19 01:19:21
还有另一种解决方案:)代码做什么:
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);});
https://stackoverflow.com/questions/2765945
复制相似问题