2009-12-25 108 views
0

的jQuery:jQuery的淡入()無法正常工作

$.post("process_login.php", 
     {username : $("#username").val(), password : $("#password").val()}, 
     function(data) { 
      $("#login_results").fadeIn("slow").html(data); 
      } 
     ) 

HTML:

<table> 
    <tr><td id="login_results"></td></tr> 
    <tr><td><input type="text" id="username" /></td></tr> 
    <tr><td><input type="password" id="password" /></td></tr> 
    <tr><td><input type="submit" id="login_submit" /></td></tr> 
</table> 

數據顯示,但它不褪色的,我不知道爲什麼。 = /。如果您需要任何其他細節,請告訴我。

回答

1

可能是因爲你有相反的順序。你想要

$("#login_results").html(data).fadeIn("slow"); 

否則你在褪色的東西,還沒有任何內容呢。

此外,請嘗試將發佈請求返回的內容類型。

$.post("page", {params}, function(data){}, "html"); 

尋找其他的答案後,更多的完整答案是,也使login_results無形第一:

<td id='login_results' style='display:none'></td> 
+0

沒關係,我的閱讀和理解前一陣子我失望。謝謝! – Andrew 2009-12-25 03:25:19

1

表變得很挑剔的,當談到jQuery效果。插入內容到一個div應該做的伎倆:

<table> 
    <tr><td><div id="login_results" style="display:none"></div></td></tr> 
    <tr><td><input type="text" id="username" /></td></tr> 
    <tr><td><input type="password" id="password" /></td></tr> 
    <tr><td><input type="submit" id="login_submit" /></td></tr> 
</table> 
+0

編輯以確保div最初是隱藏的。如果元素已經可見,則fadeIn()不執行任何操作。 – jimyi 2009-12-25 03:18:49

+0

好點,謝謝:) – Ariel 2009-12-25 04:29:08

1

首先,確保你的#login_results沒有通過應用對他們display: none(無論是在CSS網頁或內聯,您的選擇)可見。那就試試這個:

$.post("process_login.php", 
      {username : $("#username").val(), password : $("#password").val()}, 
      function(data) { 
        $("#login_results").html(data); 
        $("#login_results").fadeIn('slow'); 
        } 
      ) 

有時鏈接不工作,你會覺得用的過程和效果的某些組合的方式......