IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[javascript] exécution de fonct. avec l'instruction onload


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Points : 149
    Points
    149
    Par défaut [javascript] exécution de fonct. avec l'instruction onload
    je désire lancer au chargement de ma page web des fonctions qui doivent s'exécuter en série au moment pour ce faire j'ai utilisé l'instruction onload suivie de l'appel de la première fonction qui consiste à afficher des boutons et mon écran de visionneuse.
    la seconde se charge du chargement en cache de l'ensemble des photos,
    et enfin la troisième attribue à chaque bouton un fonction.
    Je désire donc effectuer ces fonctions en série en étant sure que la suivante et lancée qu'à la fin de la première.
    J'ai essayé avec l'instruction setTimeout mais j'ai un risque si après l'intervalle de temps écoulé mes fonctions ne sont pas terminées.

    merci par avance

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Juste à mettre les fonctions l'unes après l'autre dans l'attribut onload.
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    au cas où, lance la 2e en fin de 1ère fonction, la 3e en fin de 2e, etc... (aucune garantie du résultat en cas de boucles lourdes, sauf en jouant sur des flags);

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Points : 149
    Points
    149
    Par défaut
    peux-tu m'expliquer ta notion de flag?

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    c'est une simple variable amenée à changer de valeur quand un événement défini par toi se produit; la valeur du flag est donc du genre "true / false", "1 / -1" et joue le rôle d'un signal pour lancer / interdire une action;


    un exemple un peu bêbête ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <script type="text/javascript"> 
     
     
     
    var flag;
     
    var tabim=new Array();
    var i=0;
     
    function fonction1(){
     
     
    if(i<100){
    i++;
    im=new Image();
    im.src="monimage"+i+"jpg";
    tabim.push(im);
    setTimeout("fonction1()",10);
    }
    else flag=true;
     
     
    if(flag){
    fonction2()
    }
     
    }
     
    function fonction2(){
    alert(tabim.length)
    }
     
    <script>
    tu vas me dire: pourquoi passer par une variable?
    ben... par exemple parce que l'appel à fonction2() n'est pas forcément effectué dans la foulée et qu'un autre gestionnaire d'événement pourra plus tard la lancer de manière conditionnelle;

  6. #6
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Pas besoin de cette complexité!
    En javascript si l'on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="fonction1();fonction2();fonction3();"
    La fonction2 sera exécuté après la fonction1 et la fonction3 après la fonction2.
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    la plupart du temps oui, mais on a vu des cas sur ce forum ou l'ordre prévu n'était pas respecté, notamment dans le cas de boucles ou de timers, je n'ai plus de cas précis en tête;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter un BAT avec Javascript.
    Par pcsystemd dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2012, 08h24
  2. Bug avec l'instruction DELETE
    Par cokinoumasterflash dans le forum Langage SQL
    Réponses: 7
    Dernier message: 08/02/2008, 11h11
  3. Réponses: 2
    Dernier message: 17/10/2005, 14h58
  4. [Javascript] Afficher du texte avec des intervalles
    Par Invité4 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/01/2005, 21h29
  5. Problème avec une instruction OUTER /Postgres
    Par Volcomix dans le forum Langage SQL
    Réponses: 14
    Dernier message: 21/04/2004, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo