Event non déclenché après retardement

Résolu
cs_DarkVader Messages postés 51 Date d'inscription samedi 21 octobre 2000 Statut Membre Dernière intervention 10 octobre 2011 - 13 févr. 2008 à 11:48
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 13 févr. 2008 à 12:14
Bonjour,
J'ai un soucis que je ne m'explique pas ce matin :
J'ai écrit 2 fonctions JS, l'une principale :
            function InitAfter(){
                clearInterval(oMretard);
                if( window.addEventListener ) {
                   window.addEventListener('load',myFunction,false);
                } else if( document.addEventListener ) {
                   document.addEventListener('load',myFunction,false);
                } else if( window.attachEvent ) {
                   window.attachEvent('onload',myFunction);
                }       
            }   
l'autre ayant vocation de retardateur
    function InitMarquee(){   
        oMretard=setInterval('InitAfter()',oDiffere*1000);   
    }

Si j'appelle directement la fonction principale (InitAfter), le code s'exécute correctement,
Si j'appelle le retardateur en premier j'ai bien une exécution jusqu'au  test de condition window.attachEvent
mais window.attachEvent('onload',myFunction) ne s'exécute plus !!!
Un try catch ne me retourne aucune erreur - les procédures originales utilisaient setTimeout mais le résultat est identique .
Je n'ai testé le dysfonctionnement pour l'instant que sous IE et non Mozilla.

Quelqu'un aurait-il une idée ?

4 réponses

cs_DarkVader Messages postés 51 Date d'inscription samedi 21 octobre 2000 Statut Membre Dernière intervention 10 octobre 2011
13 févr. 2008 à 11:55
Désolé,
Grosse fatigue ce matin - onload étant déclenché entre l'appel des 2 fonctions, il ne peut plus être intercepté après le timeout.
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 févr. 2008 à 12:01
Bonjour,

    mis setTimeout à la place de setInterval, testé avec FF et IE : pareil :       ça ne déclanche pas

    peut-être normal ? : lorsque initAfter sera lancé, la page est déjà chargée....

    donc, ne pas utiliser le "retardateur" ou lancer myFunction avec setTimeout....

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
cs_DarkVader Messages postés 51 Date d'inscription samedi 21 octobre 2000 Statut Membre Dernière intervention 10 octobre 2011
13 févr. 2008 à 12:06
En fait j'ai modifié en
Init (initialise la surveillance des évènements - appel de la function retardateur) -> Retardateur -> Appel de myFunction
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 févr. 2008 à 12:14
ah ben.... j'avions point vu que c'était résolu...
croisement de messages...  
l'essentiel est que ça baigne et que ce qui ne fonctionnait pas a été compris.
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Rejoignez-nous