2012-11-05 13 views
5

後に再表示する私は、私はこれを正しくやっていることを断言することができますしてください:はフェードアウト

私はそれが表示された後にフェードアウトしたいメッセージを持っています。

jQuery fadeOutは、不透明度がゼロになるとdisplay:noneを設定します。

このように、visibility:visibleを設定して同じメッセージを再度表示する場合、display:noneが設定されているため、メッセージは表示されません。

だから、これは私がやったことです:

 $("#message6").fadeOut(600, function(){ 
      $("#message6").css("display",""); 
      $("#message6").css("visibility","hidden");    
     }); 

これはうまく動作します。それは非常に優雅に見えません。

ここに何か不足していますか?これを行うためのきちんとした方法はありますか?

+0

多分これは次のようなものです:http://jsfiddle.net/lollero/T3Vm6/ – Joonas

答えて

10

のようなものがなぜあなたはいたしません。

$("#message6").fadeOut(600); 

そして再び、あなたのメッセージを表示する:

$("#message6").show(); 
+0

私は可視性を設定しています:最初のインスタンスで可視です。これは私が見逃していたものかもしれませんが、最初のインスタンスでは代わりにショーを使用する必要があります。 – codepuppy

+0

私の要素がまだ私のDOM内にスペースを予約する必要があるときだけ私は可視性を使用します。 – iappwebdev

0

私はいつもjQueryの.fadeIn().fadeOut()のメソッドに奇妙な問題があったので、通常は不透明度をアニメーション化します。あなたが物事を隠して見せているだけであれば、このアプローチには何も問題はありません。あなたがフェージングアニメーションの任意の並べ替えをしたくない場合は

$('#message6').animate({opacity:0}, 200); 

は、あなただけの.hide().show()方法、または.css({opacity:0})、または0アニメーションの再生時間と.animate()メソッドを使用することができます。

+0

@ Simonと同様に、私はあなたが私のやり方の誤りを公開していると思います。 – codepuppy

0

なぜこの

$(document).ready(function() { 
     $('#myLabel').fadeOut(1000, function() { 
      $(this).html(""); //reset the label after fadeout 
     }); 
    });​ 

Sample

+0

私はあなたが言っていることを見て、メッセージの内容を動的に設定していれば、これは本当に仕事をするでしょう。しかし、これは固定メッセージです。 – codepuppy

関連する問題