2011-06-30 77 views
3

我正在嘗試一個簡單的jQuery腳本來淡出一個div並淡入淡出另一個位置,但由於某種原因,第一個div永不淡出。這可能是代碼中的一個明顯問題,但我似乎無法完成。jQuery fadeOut一個div,在另一個地方淡出

<style> 
    #cuerpo { display: none; } 
</style> 

<div id="cuerpo"></div> 
<div id="inicio"></div> 

<script> 
    function delayed() { 
     $("div").fadeIn(3000, function() { 
      $("cuerpo").fadeIn("slow"); 
     }); 
    } 
    $("a").click(function() { 
     $("inicio").fadeOut("slow"); 
     setTimeout("delayed()",500); 
    }); 
</script> 

我應該怎麼做?我究竟做錯了什麼?

回答

10

有一個簡單的方法來做到這一點:

$('a').click(function(){ 
    $('#fadeout').fadeOut(300); 
    $('#fadein').delay(400).fadeIn(300); 
}); 

然後將HTML:

<a href="#">In/Out</a> 

<div id="fadeout">Fade Out</div> 
<div id="fadein" style="display:none;">Fade In</div> 
1

有語法錯誤 應該

$("#inicio").fadeOut("slow"); 

,而不是

$("inicio").fadeOut("slow"); 

同樣

$("#cuerpo").fadeIn("slow"); 

,而不是

$("cuerpo").fadeIn("slow"); 
+0

我通過使用javascript清除inicio中的所有HTML來修復它。然而,即使在糾正代碼後,div id =「inicio」仍然重現。不知道爲什麼。希望能夠正確編寫代碼。 – lisovaccaro

2

我認爲你可以使用回調...

$('#fadeout').fadeOut(300, function(){ 
             $("#fadein").fadeIn(300); 
             }); 

這是最穩定的方式....

相關問題