Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Przeładowanie div + animacja
Forum PHP.pl > Forum > XML, AJAX
Fifi209
Chcę zrobić za pomocą jQuery przeładowanie danego div'a z animacją.

Gdy mam kod:

Kod
$(document).ready(
    function() {
        step(1);
    }
);

function step(id) {
    $("#ajax").hide();
    $("#ajax").load("step.php?step=" + id);
    $("#ajax").show();
}


Wszystko działa dobrze, póki nie zastąpię hide() i show() funkcją toggle()

Ma ktoś pomysł? smile.gif
To co zwraca php, to kolejny krok przy rejestracji.
lord_t
A po co chcesz zastępować?
Fifi209
Cytat(lord_t @ 29.04.2009, 10:33:00 ) *
A po co chcesz zastępować?


Przecież napisałem, że chciałbym mieć animację przy zmianie danych...
lord_t
Toggle bez argumentów? Jeśli tak to przypuszczam, że zamiast wykonania
ukryj, wczytaj, pokaz (*)

masz:
ukryj,pokaz, wczytaj (**)

Wydaje mi się, że przy hide i show Ci to działało w opcji (*) ponieważ one wykonywały się jakiś czas: dlatego nim skonczyło się hide to treść zdążyła się załadować.

Rozwiazania:
1) Stworzyć, żądanie synchroniczne.
2) (sugerowane) pokazywanie zrobić w callback ajaxa.
Fifi209
Cytat(lord_t @ 29.04.2009, 23:05:55 ) *
Toggle bez argumentów? Jeśli tak to przypuszczam, że zamiast wykonania
ukryj, wczytaj, pokaz (*)

masz:
ukryj,pokaz, wczytaj (**)

Wydaje mi się, że przy hide i show Ci to działało w opcji (*) ponieważ one wykonywały się jakiś czas: dlatego nim skonczyło się hide to treść zdążyła się załadować.

Rozwiazania:
1) Stworzyć, żądanie synchroniczne.
2) (sugerowane) pokazywanie zrobić w callback ajaxa.


Kod z toggle wyglądał tak:

Kod
$(document).ready(
    function() {
        step(1);
    }
);

function step(id) {
    $("#ajax").toggle('slow');
    $("#ajax").load("step.php?step=" + id);
    $("#ajax").toggle('slow');
}


2. Sugerowany callback ajax'a, czy mógłbyś rozwinąć myśl bo na wiki piszą tylko co to jest. A mi bardziej chodzi o używanie.
(Wybaczcie uczę się obsługi jQuery dopiero) haha.gif
lord_t
Cytat
function step(id) {
$("#ajax").toggle('slow');
$("#ajax").load("step.php?step=" + id,{},function(){
$("#ajax").toggle('slow');
});
}


Łap tego callbacka ^. A co do Twojego kodu z tooglami to jeśli nie działają z innego powodu niż opisana przeze mnie metoda to nie wiem czemu nie działająsmile.gif
Fifi209
Cytat(lord_t @ 30.04.2009, 21:06:23 ) *
Łap tego callbacka ^. A co do Twojego kodu z tooglami to jeśli nie działają z innego powodu niż opisana przeze mnie metoda to nie wiem czemu nie działająsmile.gif


Wrzuciłem callback'a lecz pojawia się problem: pojawia się i znika (treść) i tyle co ją widziano. ;d

Mniejsza o to, trudno się mówi. Nie od razu rzym zbudowano.

Proszę o zamknięcie tematu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.