jQuery hide()闪烁

时间:2012-05-18 09:43:23

标签: php jquery hide flicker

我有一个PHP脚本,它在带有一些输入的表单上运行验证。我想隐藏()错误,然后在页面重新加载后让它们淡入(而不是让它们出现)。

我遇到的问题是,虽然脚本可以工作......但是在页面加载时我会略微忽略错误字段。

<div class="error">sample error</div>

$(document).ready(function() 
{
    if($('div.error').length > 0)

    {

       $('div.error').hide();

        if($('div.error:hidden'))
        {
            $('div.error').delay('1000').fadeIn('2000');   
        }

    }
}

提前致谢

1 个答案:

答案 0 :(得分:1)

在加载页面之前,您的错误框是否隐藏?

查看您的代码,它将存在,然后在文档准备好后由JavaScript隐藏,然后淡入。

我建议您在名为hidden的错误字段中添加一个类,并在样式中将其声明为.hidden{ display:none;}

然后调整你的js是这样的:

$(document).ready(function() 
{
    if($('div.error').length > 0)

    {

       $('div.error').hide().removeClass('hidden');

        if($('div.error:hidden'))
        {
            $('div.error').delay('1000').fadeIn('2000');   
        }

    }
}