是否有可能将jquery fadeOut应用于稍后将通过ajax插入DOM的元素?我可以通过.on申请clasic事件,但不知道如何使用元素准备它。
$(document).on('ready','.flash',function(){
$('.flash').delay(200).fadeOut();
})
我尝试这样的事情,但没有成功。
答案 0 :(得分:1)
页面加载$('.flash')
不存在。所以你需要有一个事件触发来触发这个,或者我会想象超时会起作用,但我会选择事件方法。
setTimeout(fuction(){$('.flash').fadeOut();},200);
更好的选择只是在事情发生时尝试淡出。因此,当用户执行X使闪存出现时,您就会将其淡出,但不知道您的用例和代码,这只是猜想。
对于我们的flash对象,我们实际上总是拥有DOM中的元素。我们的AJAX和其他调用只是修改它。我有一个showFlash(msg,type,ttl)
方法,在调用时,可以随时设置内容,类型和时间。从技术上讲,闪存总是在DOM中。
然后我
$.ajax({/*AJAX STUFF*/,
complete: function(data){
/* DO STUFF */
showFlash('Message to User','success',3000);
}
function showFlash(msg,type,ttl){
$('.flash').html(msg).show().delay(ttl).fadeOut();
}
简而言之就是这样。