// a little jQuery plugin...
(function($){
$.fn.timeout = function(ms, callback)
{
var self = this;
setTimeout(function(){ callback.call(self); }, ms);
return this;
}
})(jQuery);
// ...and how to use it.
$("<span>Your services have been updated</span>")
.appendTo('.done')
.timeout(5000, function(){ this.remove(); });
$('.card').append('<div class="alert alert-warning" role="alert"> This is a warning alert—check it out!</div>').delay(1000).queue(function(){
$('.alert').remove()})
function alert(elem,content,type,posi){
//elem - element to be inserted
//content - content of the alert box (based from bootstrap)
//type - alert type
//posi - either append or prepend
//primary, secondary, success, warning, info, danger, light, dark
if(type == undefined)
type = 'info';
elem.find('.glb-alert').remove();
var a = '<div class="alert alert-danger col-md-12 glb-alert" role="alert" >'+content+'</div>';
if(posi == undefined|| posi == 'prepend')
elem.prepend(a).find('.glb-alert').delay(1200).fadeOut();
else if(posi == 'append')
elem.append(a).find('.glb-alert').delay(1200).fadeOut();
}
9条答案
按热度按时间dz6r00yl1#
您可以考虑Ben Alman的doTimeout插件-http://benalman.com/projects/jquery-dotimeout-plugin/
gzszwxb42#
pinkon5k3#
我喜欢这个方法,它在删除跨度之前使用一个短暂的淡出。它还在附加之前删除以前的消息。
vhmi4jdf4#
就是这样你创建了一个名为div的元素,然后在1秒后删除div
gxwragnw5#
我知道这看起来很奇怪......我这样做是为了自包含。当匿名函数被调用时,追加立即完成......追加的元素然后被保存为匿名作用域中的
el
,当timeout
在5000ms后触发时,它本身被删除。我编辑了上面的函数,这样它就不会破坏父元素(很抱歉)
irtuqstp6#
通过增加或减少
delay(#)
设置时间hmae6n7t7#
还有另一个解决方案:)什么代码做:
1.创建隐藏元素
1.使用.“add-comment”类将其追加到元素。
1.淡入新的范围,
1.在4.5秒之后,新的跨度淡出并自身移除。
aiqt4smr8#
我知道有点晚了,但我想分享给你我的解决方案,因为我添加到我的全球功能。
hrysbysz9#
我不确定这里的上下文,但是这样做是否有效
然后再把那个身份标签拿掉