2010-09-09 61 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動態更改的另一種強大工具。