2013-01-31 98 views
9

我目前正试图在页面加载后2秒显示div。我可以通过在页面加载后两秒隐藏div来成功完成相反的操作。问题是什么都没有发生,div保持隐藏状态。如何在页面加载两秒后正确显示div?附加:平均同时两秒运行显示一个Ajax加载GIF,然后消失在div页面加载2秒后显示div

<script type = "text/javascript"> 
$(window).load(function() { 
    setTimeout(function() { 
     $("#contentPost").show('fadeIn', {}, 500) 
    }, 2000); 
}); 
</script> 

HTML/CSS

<style> 
.contentPost { display:none;} 
</style> 

<div class="contentPost"> 
<h2>Hi there</h2> 
</div> 
+0

显示您的HTML-你是如何隐藏起来的? –

+0

@SteveH。我已添加html – CodingWonders90

回答

25
$(document).ready(function() { 
    $(".contentPost").delay(2000).fadeIn(500); 
}); 

将工作完美。

+1

这是很好的jQuery优雅。 – jmbertucci

+0

@Mooseman仍然没有显示任何东西。我用HTML更新了我的问题。我实际上是用CSS display:none;' – CodingWonders90

+2

'.fadeIn(500);'将覆盖'display:none'。我只注意到你的HTML使用了一个类名,而不是一个ID。我更新了我的答案以反映这一点。 – Mooseman

4

我从来没有见过这样写,你的表演方法。尝试改变它投入使用jQuery的方法fadeIn

<script> 
$(function() { 
    $("#contentPost").delay(2000).fadeIn(500); 
}); 
</script> 

show方法不接受任何参数,当你希望它不会起作用。

+0

仍未显示任何内容。我用HTML更新了我的问题。我实际上用CSS display:none;来隐藏div。 – CodingWonders90

+0

根据jQuery 1.0文档页面(https://api.jquery.com/show/),@Undefined show()*可以*选择选项。 –