2012-01-14 17 views
3

POSTでページを照会し、そのページに表示されるテキストを返すjQueryコードがあります。これは私が成功し、これを行うために使用していたコードです:jQuery:.html()でfadeIn()を使用

$.post(
    "query.php?module=vote", 
    {answer: ans, pid: pid, to: to, page: page}, 
    function(responseText){ 
     $("#poll").html(responseText); 
    }, 
    "html" 
); 

私は$("#poll").html(responseText).fadeIn(1500);$("#poll").html(responseText)を変更しようとしましたが、それは動作しません。

テキストをページにフェードインするにはどうすればよいですか?

+1

はフィドルを作成してください。それは多くの助けになります。 – Diode

答えて

4

フェードインするためには、 、要素はまず退色しなければならない。その後、コンテンツを追加し、フェードインするコールバック関数を使用して(0秒)すぐにフェードアウトしてください。

$.post(
    "query.php?module=vote", 
    {answer: ans, pid: pid, to: to, page: page}, 
    function(responseText){ 
     $("#poll").fadeOut(0,function(){ 
      $(this).html(responseText).fadeIn(); 
     }); 
    }, 
    "html" 
); 
+1

.fadeOut(0)>> $( "#poll").hide().html(responseText).fadeIn(); –

+0

私は@frank_neffに同意します。 (それで私の答え...) – PPvG

1

フェードアウトする前に、それが隠されていることを確認する必要があります。これを試してみてください:

$("#poll").html(responseText).hide().fadeIn(1500); 

を別の方法として、あなたは要素を使用して隠されていることを確認することができCSS:

#poll { 
    display: none; 
} 

ライブデモ(両方のアプローチを示す):http://jsfiddle.net/n5rnw/1/

0

ため、要素のことで、デフォルトのショーなので、フェードアウト/非表示最初に必要再度フェードインこのようなelemetは、:いくつかのサンプル応答を使用してhttp://jsfiddle.net/:

$('#element').fadeOut(500).html(content).fadeIn(500); 
関連する問題