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 :

Forcer l'exécution d'une fonction


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut Forcer l'exécution d'une fonction
    Bonjour a tous et a toute,
    je souhaite forcer l'execution d'une fonction pendant le traitement de java script , celle ci est charge de faire une animation pendant le traitement global.
    voici le le debut du script global .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	if ((parseInt(document.getElementById('credit_restant').innerHTML)>=parseInt(document.getElementById('credit_necessaire').innerHTML)) && (sender_id.length>=1)) 
            { 
     
            setTimeout(	animation_progression(), 3000);
     
            var date_programmation=document.getElementById('date_programmation').value;
    		// var destinataire=document.getElementById('destinataire').value; il est remplacé ici par tableau[i] 
    		var message=document.getElementById('message').value;
    		// On défini ce qu'on va faire quand on aura la réponse
    		var nombre_message=Math.trunc(message.length/160)+1 ;
    et ma fountion.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function animation_progression(){
    	waitingDialog.show('Envoi En cours...',{
    	                headerText: 'SMS',
    	                dialogSize: 'sm',
    	                progressType: 'success'
    	        })
    }
    normalement cette annimation doit se lancer au debut du script global mais malheuresement c'est à la fin de celui-ci qu'il se lance.
    une fois de plus merci .
    www.etech-keys.com
    https://sms.etech-keys.com

    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut


    Lorsqu'on souhaite qu'une fonction d'animation s'exécute dès que la page web devient visible, il faut utiliser l'événement "load".

    Code HTML : 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <!DOCTYPE html>
    <html lang="fr" dir="ltr">
    <head>
    	<!-- cache-control avec max-age=60 pour le développement uniquement -->
      <meta http-equiv="cache-control" content="public, max-age=60">
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
      <meta name="author" content="Daniel Hagnoul">
      <title>test</title>
      <style>
                    *,
                    *:after,
                    *:before {
                            box-sizing: border-box;
                    }
                    
                    /* code du test */
                    
                    
                    /* fin code du test */
                    
      </style>
      <script>
        'use strict';
                    
                    // placer ici le code de la fonction animation_progression()
                                    
                    document.addEventListener( "DOMContentLoaded", ev => {
                            // le DOM est construit, la page web n'est pas visible
                            // code du test
                            
                            
                            // fin code du test
                            
                    }, false );
        
        window.addEventListener( "load", ev => {
                            // le DOM est construit et la page web est visible
                            // code du test
                            
                            animation_progression();
     
                            // fin code du test
                            
        }, false );
      </script>
    </head>
    <body>
    	<main>
     
     
      </main>
    </body>
    </html>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    Merci danielhagnoul,
    en fait ce n'est pas exactement ce que je veux.
    lorsque l'utilisateur clique sur un boutton , une serie de control sont fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	if ((parseInt(document.getElementById('credit_restant').innerHTML)>=parseInt(document.getElementById('credit_necessaire').innerHTML)) && (sender_id.length>=1)) 
            {
    et c'est a la suite de ceux ci que l'annimation doit etre lance 0
    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
    	  	if ((parseInt(document.getElementById('credit_restant').innerHTML)>=parseInt(document.getElementById('credit_necessaire').innerHTML)) && (sender_id.length>=1)) 
            { 
     
     
    		var animation = function animation() {
      		return waitingDialog.show('Envoi En cours...',{
                    headerText: 'SMS ',
                    dialogSize: 'sm',
                    progressType: 'success'
     
            });
      			 }
     
     
            alert(animation);
    voici comment j'ai evolué mais la il affiche l'annimation comme un messae au lieu de la lancer.
    une fois de plus Merci.
    www.etech-keys.com
    https://sms.etech-keys.com

    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Au vu de votre réponse (message n° 3), il est clair que je ne comprends pas la question !

    Avec l'ami Google, j'ai sous les yeux : https://bootsnipp.com/snippets/featu...t-modal-dialog

    Je vois que waitingDialog.show() est un dialogue modal de Bootsnipp une extension de Bootstrap. Je ne connais pas, la seule documentation semble être le lien ci-dessus.

    Pour le setTimeout() du message n° 1, vous devez passer la fonction elle-même et pas le résultat de la fonction : setTimeout( animation_progression, 3000);

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    Merci danielhagnoul,
    en fait le probleme venait de moi, dans la fonction il y'a un appal ajax que j'avais mis en mode synchrone ce qui fait que le processus ce bloquait à ce niveau et devait dabord finir le traitement.
    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
     
    {
                        $.ajax({
                            url : '../ss/envoyer_message_simple.php',
                            type :'POST',
                            async: true, // le probleme venait d'ici 
                            data: ({ "sender_id":sender_id,"destinataire":destinataire,"message":message,"nombre_message":nombre_message }),
                            dataType: "application/x-www-form-urlencoded",
                            complete : function(resultat, statut){
                                        nombre_retour=nombre_retour+1;
                                        waitingDialog.message('Envoi...'+nombre_retour+' sur '+tab_length);                                         
                                        //if(nombre_retour+1>=tab_length) setTimeout(location.reload.bind(location, true), 1000); 
                            },
                            success : function(code_html, statut){
                                        console.log(statut);
                            },
                            error : function(resultat, statut, erreur){  
                            },
                        });
                    } // Fin  Gestion des envoies Direct
    Merci pour toute vos contribution .
    www.etech-keys.com
    https://sms.etech-keys.com

    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 28/04/2006, 17h36
  2. Stopper l'exécution d'une fonction au bout d'un certain temp
    Par Eagle959 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/03/2006, 19h16
  3. Réponses: 3
    Dernier message: 11/03/2006, 16h35
  4. Pause dans l'exécution d'une fonction
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/06/2005, 08h48
  5. Exécution d'une fonction...
    Par mickeliette dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/11/2004, 17h59

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