我的页面中有一个消息框div,它会在成功提交表单后显示。我想在一段时间后隐藏它。
我在chrome开发人员工具中尝试过这个代码,但它确实有效。
$(document).ready(function(){
if ($('#notification').is(":visible")) {
$('#notification').delay(1000).fadeOut();
}
});
但是当我将此代码插入到我的页面时,它无法正常工作。
请给我一个解决方案。
谢谢你&的问候,
答案 0 :(得分:5)
您正在dom-ready函数中运行此代码:$(document).ready(function(){ ...
这意味着代码将在页面加载完成后运行一次,此时通知可能不可见,因此代码会继续运行,并且不会再次运行。
您需要绑定此功能,以便在每次提交表单时使用jQuery's .submit() method运行。
答案 1 :(得分:0)
$('#myForm').submit(function() {
$('#notification').fadeIn().delay(3000).fadeOut();
});
答案 2 :(得分:0)
您可以使用 setTimeout
电话:
setTimeout( function() {
if ($('#notification').is(":visible")) {
$('#notification').delay(1000).fadeOut();
}
}, 3000);