2016-09-20 7 views
-1

Ich habe ein Javascript, das Hunderte von Zeilen auf einer Webseite zeichnet. Wenn die Seite geladen wird, werden alle Zeilen gleichzeitig gerendert.Rendering Javascript nacheinander

Um die Frage einfacher zu machen, sagen wir, ich habe eine js-Datei, die 3 Funktionen hat.

drawing_one 
drawing_two 
drawing_three 

Derzeit, wenn die Seite geladen wird, werden eins, zwei und drei gleichzeitig auf der Seite gezeichnet. Was ist der beste Weg, um es zu haben, wenn es lädt, ist noch nichts gezeichnet. Nach einer Pause, sagen wir 1 Sekunde, wird alles einzeln gezeichnet. In diesem Beispiel wird nach der angegebenen Intervallzeit eins, dann zwei und dann drei gezeichnet. Nachdem alles gezeichnet ist, wird alles gelöscht und dann von vorne begonnen.

+4

Verwenden setTimeout() –

+0

Was sind die Funktionen, die die Zeichnung tun? Wir müssen wissen, ob sie asynchron oder synchron sind. – Goose

+0

Verwenden Sie Rückruffunktionen –

Antwort

0

Basierend auf Ihren Beitrag können Sie setTimeout Funktionen versuchen:

$(document).ready(function() { 

    setTimeout(function() { 
     drawing_one(); 
    }, 1000); 


}); 

Dann drawing_one() könnte wie folgt aussehen:

function drawing_one() { 

    //do stuff, then 

    setTimeout(function() { 
     drawing_two(); 
    }, 1000); 

} 

wiederholen dieses Muster für drawing_two() und dann für drawing_three ()

function drawing_three() { 

    //do stuff, then 

    clearDrawings(); // you define this 

    setTimeout(function() { 
     drawing_one(); // start over 
    }, 1000); 

}