2012-01-04 76 views
0

我有一個登錄表單和一個帶有「註冊」標題的鏈接。我希望當上「註冊」鏈接用戶點擊,登錄淡出,並在登記表褪色我用下面的腳本是:使用上面的代碼淡出某個區域並淡入其中一個區域

$("#loginArea").fadeOut(2000, function() { 
         $("#RegisterArea").fadeIn(2000, function() { 
         $("#RegisterArea").empty().append(mydata); }); 
         //$("#RegisterArea").empty(). 
        }); 

,登錄表單淡出,但褪色regsiter表單不起作用,只需在'RegisterArea'中放入'mydata'內容即可,無需動畫。

你能幫我嗎?

回答

2

我想你可能想這樣做:

$("#loginArea").fadeOut(2000, function() { 
    $("#RegisterArea").empty().hide().append(mydata); 
    $("#RegisterArea").fadeIn(2000); 
}); 

如果註冊區域是空的,而在你的衰落將不會看到它,所以首先與內容填充它,然後在:)

消除它
+0

'$( 「#RegisterArea」)空()隱藏()追加(MYDATA ).fadeIn(2000);'would do :) – Stefan 2012-01-04 11:52:07

+1

+1;此外,如果它最初不設置爲隱藏(您也添加了),它不會淡入。 – 2012-01-04 11:52:10

1

它似乎對我來說工作得很好。看到這個演示:

難道你是不是讓你的#RegisterArea最初隱藏?或者您用於選擇對象的ID不正確(它們與底層HTML不匹配)?我遇到這些問題,同時讓演示正常工作。

要初始隱藏您的#RegisterArea,您可以使用the jQuery .hide method,或者您可以將其樣式設置爲display:none

如果這沒有幫助,您可能想嘗試在chrome中運行此操作,打開腳本控制檯,然後查看您是否正在獲取頁面上的錯誤併爲其編寫腳本。要打開腳本控制檯,請點擊窗口左下角的Show Console按鈕,即F12

下面是我用代碼製作的演示代碼的工作代碼。

HTML:

<div id="loginArea"> 
    <a id="register">Click me to register</a> 
</div> 
<div id="RegisterArea"> 
</div> 

CSS:

#loginArea { 
    background:grey; 
} 

#RegisterArea { 
    width:50px; 
    height:50px; 
    background:green; 
    display:none; 
} 

JS:。

$("#register").click(function() { 
    $("#loginArea").fadeOut(2000, function() { 
     $("#RegisterArea").fadeIn(2000, function() { 
      var mydata = "test123"; 
      $("#RegisterArea").empty().append(mydata); 
     }); 
    }); 
}); 
+0

謝謝@Merlyn Morgan。 – 2012-01-07 07:31:07