2009-06-23 11 views
6

Nie mogę uczynić mój div widocznym z show jquery(), dopóki moja funkcja się nie skończy! To działa w IE/FF, ale nie w Chrome. Jak mogę się upewnić, że mój element jest widoczny przed kontynuowaniem mojej funkcji?Czekać na zakończenie programu jQuery() przed kontynuowaniem funkcji?

Oto mój kod:

function doOperation(){ 
    $("#progressbar_area").show(); 
    (...) 
} 
+0

Przy kodzie, który tam masz, element _should_ będzie wyświetlany bezpośrednio po nim, a jeśli to nie zadziała w Chrome, zostanie uznany za błąd. Czy na pewno nie masz w programie czegoś takiego jak "wolny" lub prędkość? –

+0

Nie, nie używam parametrów prędkości. Przy okazji, kiedy ich używam, mój div po prostu nie pojawia się w żadnej przeglądarce (FF/IE/Chrome), dopóki ta funkcja się nie skończy. Naprawdę dziwne. – David

Odpowiedz

15

Dodaj zwrotnego pokazać:

$("#progressbar_area").show(speed, function() {}); 

Funkcja zwrotna zostanie wywołana gdy animacja jest zakończona.

+0

im przy użyciu scrollTop() i nie mogę wyświetlać żadnego, więc robię to, aby czekać, aby kontynuować, ale nawet to działa, animuje show od lewej i robi dziwne rzeczy ... –

0

IMO, byłoby lepiej umieścić resztę funkcji w parametrze wywołania zwrotnego do show:

$("#progressbar_area").show("fast", function() {...}); 

Zastrzeżenie tutaj jest to, że funkcja zwrotna jest zwolniony (osobno) dla każdego elementu, który znajduje się w selektor. Dobra, jeśli pokazujesz tylko jeden przedmiot.

+0

mam nadzieję, że będzie tylko jeden element o id progressbar_area! – redsquare

Powiązane problemy