在showDiv()setTimeout之后淡入div

时间:2011-08-22 20:42:48

标签: jquery css settimeout fadein

非常快速的问题 - (我希望!)

我有一个div,直到页面的其余部分加载后才会显示:

<script>
    function showDiv(){
        var obj = document.getElementById('test');
        obj.style.display = 'block';
    }
</script>

在我的html的头部,以及正文中的以下代码:

<body onLoad="setTimeout('setTimeout(showDiv()', 1000);">
<div id="test" style="display:none;">

当div正确加载一段时间后,我想知道是否有一种方法可以在给定的“Timeout”之后淡化这个div,使用类似的东西:

<script type="text/javascript">
$(function(){  // $(document).ready shorthand
$('#test').hide().fadeIn(1500);
});
</script>

例如?此刻,div突然出现,虽然我希望能以某种方式让它消失。我试图合并这两个js函数,但为此目的没有成功。任何帮助或建议非常感谢!

3 个答案:

答案 0 :(得分:14)

$(function(){

    $('#test').hide();

    setTimeout(function(){
        $('#test').fadeIn('slow');
    },1000);

});

答案 1 :(得分:7)

$('#test').hide().delay(1500).fadeIn('slow');

JsFiddle DEMO

jQuery's .delay()

答案 2 :(得分:0)

你应该在jquery中使用load事件,如下所示:

$(window).load(function() {
  $('#test').fadeIn('slow');
});

请参阅:http://api.jquery.com/load-event/

<body onLoad="setTimeout('setTimeout(showDiv()', 1000);">在jquery土地上并不酷。 :P

另请参阅:http://api.jquery.com/ready/