2013-04-04 84 views
0

我的页面中有一个消息框div,它会在成功提交表单后显示。我想在一段时间后隐藏它。隐藏div如果出现

我已经在铬开发工具中试过这段代码,它的工作原理。

$(document).ready(function(){ 
    if ($('#notification').is(":visible")) { 
     $('#notification').delay(1000).fadeOut(); 
    } 
}); 

但是,当我插入这个代码到我的网页,它不工作。

请给我一个解决方案。

谢谢&问候,

+0

你的HTML页面将在这里很有用。 – viclim 2013-04-04 12:12:14

回答

0
$('#myForm').submit(function() { 
    $('#notification').fadeIn().delay(3000).fadeOut(); 
}); 
+0

感谢您的回复,有没有办法在不使用活动的情况下做到这一点? – user1915190 2013-04-04 12:14:30

+0

当然,只要在显示通知的地方放第二行。 – 2013-04-04 12:16:50

5

您运行的是DOM就绪功能在这个代码:$(document).ready(function(){ ...

这意味着,当页面完成加载代码将运行一次,在那时间通知可能不可见,所以代码继续,不会再运行。

您需要绑定此函数以在每次提交表单时运行,使用jQuery's .submit() method

+0

谢谢,你能给我一个例子 – user1915190 2013-04-04 12:28:20

+0

这个代码需要在显示通知弹出窗口后运行。 在显示'#notification'后直接添加if语句 – Rodik 2013-04-04 12:33:09

0

可以使用setTimeout电话:

setTimeout(function() { 
    if ($('#notification').is(":visible")) { 
     $('#notification').delay(1000).fadeOut(); 
    } 
}, 3000);