页面加载时jQuery .fadeIn()?

时间:2014-01-26 06:32:55

标签: javascript jquery html css fadein

我正在尝试设置一些代码,以便我首先隐藏它,但在页面加载后淡入。

我有以下HTML代码:

<div class="hidden">
<p>This is some text.</p>
</div>

然后我也有这个CSS代码,它隐藏了<div>

div.hidden
{
    display: none
}

最后,我有我的jQuery:

$(document).ready(function() {
    $('div').fadeOut(1);
    $('div').removeClass('hidden');
    $('div').fadeIn(1000);
});

我希望会发生的是第一个.fadeOut()会淡出,removeClass会阻止CSS隐藏它,而最终的.fadeIn()会将其淡化回页面。不幸的是,这不起作用。

您可以在此处查看代码:Fiddle

那么有人可以告诉我如何在页面加载之前隐藏<div>,然后使用jQuery淡化它吗?

谢谢!

4 个答案:

答案 0 :(得分:28)

问题是fadeIn适用于隐藏元素,当您在调用fadeIn()之前移除隐藏类时,元素已完全显示,因此没有任何内容可以fadeIn()

应该是

$(document).ready(function () {
    $('div.hidden').fadeIn(1000).removeClass('hidden');
});

演示:Fiddle

答案 1 :(得分:4)

HTML代码:

<div class="toshow" style="display:none;">
    This is some text.
</div>

jquery代码:

$(document).ready(function () {
    $('div.toshow').fadeIn(2200);
    // OR $('div.toshow').show(2200);
    // OR $('div.toshow').slideDown("slow");
});

Change the jquery show()/hide() animation?

答案 2 :(得分:1)

http://jsfiddle.net/DerekL/Bm62Y/5/

//If you do not want the "hidden" class to be still around
$(function() {
    $('div').fadeIn(1000).removeClass('hidden');
});

//If you don't mind it, then you can just do fadeIn
$(function() {
    $('div').fadeIn(1000);
});

答案 3 :(得分:0)

//image fade in
    //set image display none
        $("img").css("display", "none");
    //call the image with fadeIn effect
    $("img").fadeIn(5000 , function(){
        $(this).css("display","normal");
    });

我对图像进行了实验。你也可以尝试文字..