我收到了一条错误消息,如果表单已提交并返回错误,则显示此消息。
<div id="error"></div>
FormCheck.php
<script type="text/javascript">
jQuery('#error', window.parent.document).html( "There was an Error.");
</script>
如果出现错误,则会显示此消息。我的问题是:如果它可见,我怎么能让它在4秒后淡出?
这是我得到/研究过的......
<script type="text/javascript">
//if($('#error').is(':visible')) {
$("#error").ready(function () {
$("#error").delay(4000)(function () {
$("#error").fadeOut(500);
});
});
</script>
无法弄清楚如何完成这件事......任何人都可以如此友善地给我一个提示如何解决这个问题?
答案 0 :(得分:5)
只需做一个setTimeout。
$(document).ready(function(){
if ($("#error").is(":visible")) {
setTimeout(function(){
$("#error").fadeOut(500);
}, 4000);
}
});
此外,它看起来你正在使用Javascript设置错误的内容,如果是这样,并且你没有刷新你的页面,你可以从任何地方调用setTimeout
来设置错误容器{{ 1}}。
答案 1 :(得分:3)
该行
$("#error").ready(function () {
应该是
$(document).ready(function () {
$('#foo').slideUp(300).delay(800).fadeOut(400); //example
答案 2 :(得分:1)
$(document).ready(function(){
if ($("#error").html() != "") {
setTimeout(function(){
$("#error").fadeOut(500);
}, 4000);
}
});
我猜你真的只是在里面设置文字。不是它的可见性。