Funktion nach jQuery .each() ausführen


Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Sprint

Erfahrenes Mitglied
Hallo zusammen,

ich habe auf einer Seite einen Fortschrittsbalken laufen, an dessen Ende eine Ajax Funktion ausgeführt werden soll.

Javascript:
function move(){
    $(".meter > span").each(function() {
        $(this)
            .data("origWidth", $(this).width())
            .width(0)
            .animate({
                width: $(this).data("origWidth")
            }, 10000);
    });
    $.ajax({
        type: "POST",
        url: "getprog.php",
        data: "artnr="+<?php echo $artnr; ?>,
        success: function(data){
            $('#ergebnis').html(data);
        }
    });
}
Überall heißt es, each() wäre synchron und alles nach dem each würde erst ausgeführt, wenn es fertig ist. Trotzdem wird die folgende Aufgabe sofort gestartet. Selbst ein einfaches alert() wird sofort angezeigt.

Was muß ich machen, damit die Ajax Aufgabe erst nach Ablauf gestartet wird, oder wenigstens das dabei befüllte DIV dann erst eingeblendet wird?

Danke schon mal im Voraus,
Sprint
 

Sempervivum

Erfahrenes Mitglied
Ah so, in dem Sinne ist jQuery natürlich nicht synchron. Du müsstest den complete-Callback von animate() benutzen, um den Ajax-Aufruf zu starten.
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Forum-Statistiken

Themen
272.355
Beiträge
1.558.612
Mitglieder
187.829
Neuestes Mitglied
AlDi31