2011-06-22 8 views
10

Mam div, gdzie zrobiłem $('#div').css('display', 'none');jQuery fadeIn() na wyświetlaczu żaden

Teraz, aby przynieść ten przedmiot z powrotem, chcę znikać go w. Jednak wydaje się, że $('#div').fadeIn() nie robi, ale Nie chcę ustawić wyświetlania z powrotem na blokowanie, tak jakbym to robił po prostu pojawia się natychmiast zamiast zanikać .. jakieś pomysły?

+1

Czy widzimy znacznik i kod, którego używasz? – kinakuta

+0

Pelase daj nam fragment kodu – genesis

+0

Czy '.hide()' naprawdę sprawdziło się? –

Odpowiedz

21

Spróbuj

$('#div').hide(); 

ukryć element.

Aktualizacja: Zaproponowałem to, bo przyszedł problem z ustawieniem .css('display', 'none') na body w Firefoksie. Ale powinno działać dla innych elementów.

Ale jeśli nie działa z hide(), to z pewnością masz inny problem i musisz opublikować więcej kodu lub dostarczyć wersję demo.

W jakiej przeglądarce działa? Czy na pewno wykonano $('#div').fadeIn()?

+1

To nie jest poprawna odpowiedź i oto dlaczego: nie możesz uruchomić obiektu ukrytego, chyba że ukryjesz go najpierw za pomocą hide(). Wierzę, że jest to prawdziwy błąd dla ludzi, którzy muszą rozpocząć obiekt ukryty za pomocą CSS, a następnie przedstawić go użytkownikowi późniejszy – somid3

+0

hej .. po prostu natknąłem się na link do tego z [innego pytania] (http: // /stackoverflow.com/questions/22978913/jquery-fadein-method-isnt-working) .... a programy operacyjne wydają się zgadzać na to jako rozwiązanie ... czy masz jakieś dodatkowe informacje dotyczące tego zachowania ... wywołanie 'hide()' ustaw 'display' na' none', nie jest tym –

3

Spróbuj

$('#div').hide(); 

zamiast

display:none; 
4

4 lat za późno, ale im nadzieję, że to będzie przynajmniej pomóc komuś na zewnątrz.

Najpierw należy zmienić klasę CSS przy użyciu jquery na visibility:hidden, a następnie zastosować funkcję zanikania. Możesz łączyć je w ramach tej samej funkcji lub uruchamiać je osobno. Tak czy inaczej, powinieneś zobaczyć, jak element po prostu znika zgodnie z oczekiwaniami.

1

Wystarczy dodać opcję prędkości;

$('#div').fadeIn(1000); 

To działa na mnie ...

0

Miałem podobny problem spowodowany przez CSS ustawioną na elemencie i jego stanu :hover.

-webkit-transition: all 0.3s linear; 
-moz-transition: all 0.3s ease; 
-ms-transition: all 0.3s ease; 
-o-transition: all 0.3s ease; 
transition: all 0.3s ease; 

usunąłem te linie powyżej i wreszcie jQuery fadeIn() działał bez zarzutu.

Również upewnić się, że nie używasz display:none !important;

I tak, tylko trzeba ustawić CSS display:none; a następnie użyć fadeIn().

Powiązane problemy