2

我收到一条错误消息,如果表单被提交并返回错误,则会显示此消息。

<div id="error"></div>

表单检查.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>

无法弄清楚如何完成这项工作......谁能给我一个提示如何解决这个问题?

4

3 回答 3

8

只需做一个 setTimeout。

$(document).ready(function(){
    if ($("#error").is(":visible")) {
        setTimeout(function(){
            $("#error").fadeOut(500);
        }, 4000);
    }
});

此外,看起来您正在使用 Javascript 设置错误的内容,如果是这样,并且您没有刷新页面,则可以setTimeout在创建错误容器的任何位置调用fadeIn.

于 2013-06-24T13:07:30.517 回答
3

线

 $("#error").ready(function () {

应该

 $(document).ready(function () {

延迟语法

$('#foo').slideUp(300).delay(800).fadeOut(400); //example
于 2013-06-24T13:05:25.757 回答
1
$(document).ready(function(){
    if ($("#error").html() != "") {
        setTimeout(function(){
            $("#error").fadeOut(500);
        }, 4000);
    }
});

我猜你真的只是在里面设置了文字。不是能见度。

于 2013-06-24T13:08:44.333 回答