2010-09-09 58 views
0

转到http://earldev.tumblr.com如何淡入div?

我使用jQuery和我不能让fadein对一个div工作。我希望div在页面加载时淡入。我现在的代码是

$('div.sc_menu').hide().fadeIn('slow'); 

div.sc_menudiv我想褪色。(它不工作,如果你没有得到这样的)

此外,我使用jQuery 1.4.2

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 

<script type="text/javascript"> 
$(function() { 
    $('div.sc_menu').hide().fadeIn('slow'); 
}); 
</script>  

回答

1

只要在代码运行时确保元素存在,这是正确的。

$(function() { 
    $('div.sc_menu').hide().delay(2000).fadeIn('slow'); 
}); 

编辑:作出如此的fadeIn()将运行前等待2秒。您需要使用jQuery 1.4或更高版本来执行此操作。

这将确保文档在.fadeIn()火灾之前加载。


编辑:

这似乎是从你提供的链接代码。

$(function() { 
    .load(function() { 
    // set the image hidden by default 
     $('#div.sc_menu').hide();.fadeIn(3000); 
}}     

它在几个层面上是畸形的。一定要在你的问题中发布你的实际代码。总是有助于获得最佳解决方案。

+0

我应该隐藏div吗?显示:无; – 2010-09-09 01:59:27

+0

@Earl你遇到的问题是你正在使用'.load()',它不是DOM就绪事件处理程序的正确语法。 – 2010-09-09 02:00:42

+1

@Earl - 你当然可以将它隐藏在你的CSS中。但是,如果JavaScript在浏览器中关闭,它将永远不会显示。 – user113716 2010-09-09 02:01:33

3

CSS:

div.sc_menu { display: none; } 

JQUERY:

$(document).ready(function(){$('div.sc_menu').fadeIn('slow');}); 
0

嗯。代码对我来说似乎没问题。尝试删除“display:none;”从CSS中,确保你的DIV被放置在你想要的位置,不被另一个DIV覆盖,或者不在错误的一边,或者在0或0的高度。

用于Firefox的Firebug插件也是观察对DOM动态更改的另一种强大工具。