2012-11-05 11 views
5

proszę mogę stwierdzić, że robię to poprawnie:Ponowne wyświetlanie po fadeOut

mam wiadomość, że chcesz fadeOut po to została wyświetlona.

Wyświetlacze jQuery fadeOut: brak, gdy krycie wynosi zero.

Tak więc, gdy chcę ponownie wyświetlić tę samą wiadomość, ustawiając widoczność: widoczna wiadomość nie zostanie wyświetlona, ​​ponieważ wyświetlacz: brak jest nadal ustawiony.

Więc to co zrobiłem:

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

Działa to dobrze. To nie wydaje się bardzo eleganckie.

Czy tu czegoś brakuje? Czy jest jakiś sposób na zrobienie tego?

+0

Może coś takiego: http://jsfiddle.net/lollero/T3Vm6/ – Joonas

Odpowiedz

10

Dlaczego nie:

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

I znów pokazać swoją wiadomość:

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

No cóż, ponieważ ustawiam widoczność: widoczna w pierwszej instancji. Być może to, czego mi brakowało, powinienem raczej używać programu show w pierwszej kolejności. – codepuppy

+0

Używam widoczności tylko wtedy, gdy mój element powinien nadal zarezerwować miejsce w moim DOM. – iappwebdev

0

Zawsze miałem dziwne problemy z metodami jQuery: .fadeIn() i .fadeOut(), więc zwykle po prostu animuję przezroczystość. Nie ma nic złego w tym podejściu, jeśli tylko ukrywasz i pokazujesz rzeczy.

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

Jeśli nie chcesz jakichkolwiek blaknięcie animacji, można po prostu użyć .hide() i .show() metod lub .css({opacity:0}), albo .animate() metodę z 0 trwania animacji.

+0

Tak jak w przypadku @ Simona, myślę, że ujawniasz błąd moich sposobów, których nie używałem .hide .show. – codepuppy

0

Dlaczego nie coś takiego

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

Sample

+0

Ok Widzę, co mówisz, a jeśli dynamicznie ustawiałem zawartość wiadomości, to rzeczywiście wykonałbym tę pracę. Ale to jest ustalona wiadomość. – codepuppy

Powiązane problemy