2009-12-25 4 views
0

JQuery:JQuery FadeIn() не работает должным образом

$.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

Nevermind, мое чтение и понимание не удалось меня некоторое время назад. Спасибо! – Andrew

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

+0

Хорошая точка, спасибо :) – Ariel

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'); 
        } 
      ) 

иногда сцепление не работает так, как вы думаете, с определенной комбинацией процессов и эффектов ...

Смежные вопросы