To co pracował dla mnie (na podstawie @Alan's answer)
var foo = $('ul.load_details'); // or whatever
var duration = "slow"; // or whatever
if (foo.css('visibility') == 'visible') {
foo.css({ opacity: 1 }).animate({ opacity: 0 }, duration, function() {
foo.css({ visibility: "hidden" });
});
} else {
foo.css({ opacity: 0 }).animate({ opacity: 1 }, duration).css({ visibility: "visible" });
}
Gdy element foo
jest widoczny, a następnie powoli zmieniać krycie do zera (przez animate
), a następnie poczekaj, aż zrobi się to przed ustawieniem widoczności, aby ukryć widoczność. W przeciwnym razie, jeśli zostanie ustawiony na ukryty podczas procesu animacji, efekt zanikania nie nastąpi, ponieważ jest natychmiast ukryty.
Alternatywnie, można użyć prostsze, czystsze fadeTo():
var foo = $('ul.load_details'); // or whatever
var duration = "slow"; // or whatever
if (foo.css('visibility') == 'visible') {
foo.fadeTo(duration, 0, function() {
foo.css({ visibility: "hidden" });
});
} else {
foo.fadeTo(duration, 1).css({ visibility: "visible" });
}
co chcesz osiągnąć? – erenon
-1 jieren Wydaje mi się, że przed zadawaniem pytań można zadać sobie kilka samouczków lub dokumentacji jQuery i ewentualnie sformułować pytania z określeniem celów, np. Erenon sugeruje – Michiel
@Erenon: W oparciu o przykład kodu wydaje się bardzo prawdopodobne, że chce zniknąć z niewidocznego na widoczny. – jrista