jquery fadeOut关于未来的元素

时间:2015-06-11 17:42:50

标签: javascript jquery fadeout

是否有可能将jquery fadeOut应用于稍后将通过ajax插入DOM的元素?我可以通过.on申请clasic事件,但不知道如何使用元素准备它。

    $(document).on('ready','.flash',function(){
    $('.flash').delay(200).fadeOut();
})

我尝试这样的事情,但没有成功。

1 个答案:

答案 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();
}

简而言之就是这样。