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 :

erreur de script dans ma page


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut erreur de script dans ma page
    bonjour voila sous IE6 j'ai des erreurs de script

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
     
            <script type="text/javascript">
       sfHover = function() {
        var sfEls = document.getElementById("menuHorizon").getElementsByTagName("li");
        for (var i=0; i<sfEls.length; i++) {
            sfEls[i].onmouseover = function() {
                this.getElementsByTagName("ul")[0].style.display = "block";
     
     
            }
            sfEls[i].onmouseout = function() {
                this.getElementsByTagName("ul")[0].style.display = "none";
     
     
            }
     
        }
    }
    if (window.attachEvent) window.attachEvent("onload", sfHover);
       </script>   
     
     
     
    <div id="second">
    <a href="index.html"><img id="logo" src="image/emeline_rub.jpg" alt="image/emeline_rub" /></a>
    <ul id="menuHorizon">
          <li style="width:156px"><a href="presentation.php"><img src="image/presentation_rub_off.jpg" alt="image/presentation_rub_on.jpg" class="rollOver" /></a>
            <ul>
    	  <li><a href="leurhistoire.php">Leur histoire</a></li>
    	  <li><a href="lesparents.php">Les parents des mariés</a></li>
     
    	  <li><a href="lestemoins.php">Les témoins</a></li>
    	  <li><a href="enfantshonneurs.php">Les enfants d'honneurs</a></li>
    	  <li><a href="toffe.php">Toffee</a></li>
           </ul>
          </li>
    	  <li><img src="image/oiseau1_rub.jpg" alt="image/oiseau1_rub"/></li>
     
          <li style="width:78px"><a href="jourj.php"><img src="image/jourj_rub_off.jpg" alt="image/jourj_rub_on.jpg" class="rollOver" /></a>
            <ul>
    	  <li><a href="prestataires.php">Les prestataires</a></li>
    	  <li><a href="deroulement.php">Le déroulement</a></li>
    	  <li><a href="voyage.php">Le voyage de noce</a></li>
    	  <li><a href="liste.php">La liste de mariage</a></li>
           </ul>
          </li>
    	  <li><img src="image/oiseau2_rub.jpg" alt="image/oiseau2_rub.jpg"></li>
     
     
          <li style="width:160px"><a href="infospratiques.php"><img src="image/infospratiques_rub_off.jpg" alt="image/infospratiques_rub_on.jpg" class="rollOver" /></a>
            <ul>
    	  <li><a href="commentvenir.php">Comment venir</a></li>
    	  <li><a href="hebergement.php">Hébergement</a></li>
     
           </ul>
          </li>
    	  <li><img src="image/oiseau3_rub.jpg"alt="image/oiseau3_rub.jpg"/></li>
     
          <li style="width:89px"><a href="contact.php"><img src="image/contact_rub_off.jpg" alt="image/contact_rub_on.jpg" class="rollOver" /></a>
     
          </li>
    	  <li><img src="image/oiseau4_rub.jpg"alt="image/oiseau4_rub.jpg"></li>
     
     
       </ul>
    </div>
    <script type="text/javascript">
    			var imgs = document.getElementsByTagName('img');
     
    			for (var i = 0; i < imgs.length; i++)
    			{
    				if (imgs[i].className == 'rollOver')
    				{
    					imgs[i].onmouseover = (function() { var a = this.src; this.src = this.alt; this.alt = a; });
    					imgs[i].onmouseout = (function() { var a = this.src; this.src = this.alt; this.alt = a; });
    					imgs[i].className = '';
    				}
    			}
     
    			</script>
    il me dit que

    Ligne 28
    car 13

    this.getElementsByTagName(...).0 style à la valeur Null ou n'est pas un objet

    du coup j'ai fait comme modif

    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
    <script type="text/javascript">
       sfHover = function() {
        var sfEls = document.getElementById("menuHorizon").getElementsByTagName("li");
        for (var i=0; i<sfEls.length; i++) {
     
     
    			sfEls[i].onmouseover = function() {
    this.parentNode.style.display = "block"; 
    } 
            }
         	sfEls[i].onmouseout = function() {
    this.parentNode.style.display = "none"		
     
            }
     
        }
    }
    if (window.attachEvent) window.attachEvent("onload", sfHover);
       </script>
    mais du coup menu déroulant ne marche plus.
    ESt ce que quelqu'un pourrai m'aider car je ne connais pas beaucoup le java script?

    merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    il me semble, mais je ne suis pas sur au vu de la presentation de ton code que tu n'attend pas que tous les objets de la page soient instanciés ...
    ta focntion est lancée comme ça brut au démarrage ou tu la lances dans le onload ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut
    elle est lancé au démarage

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    mets tout ça dans une fonction init() par exemple
    et lance la fonction inti sur le onload de la balise body ..

    au moment ou ces lignes sont interprétée, les objets visés par getElementById() ne sont pas encore instanciés ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut
    je suis désole étant donné que je debute meme si je comprend se que tu veux dire je ne vois pas trop comment faire pour lancer la fonction avec le onload

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    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
    <script type="text/javascript">
    fcuntion init(){
       sfHover = function() {
        var sfEls = document.getElementById("menuHorizon").getElementsByTagName("li");
        for (var i=0; i<sfEls.length; i++) {
     
     
    			sfEls[i].onmouseover = function() {
    this.parentNode.style.display = "block"; 
    } 
            }
         	sfEls[i].onmouseout = function() {
    this.parentNode.style.display = "none"		
     
            }
     
        }
    }
    }
    if (window.attachEvent) window.attachEvent("onload", init);
       </script>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut
    window.attachEvent n'est reconnue que par IE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(window.addEventListener){window.addEventListener("onload",sfHover);}// Non IE
    else{if(window.attachEvent; //IE
    {window.attachEvent("onload", sfHover)}}

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    oui bon alors du coup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body onload=" sfHover()" >
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut
    Désole ma question va peut etre paraitre idiote mais

    il faut juste que je mette ca

    <body onload=" sfHover()" >

    comment il va savoir quelle fonction appélé?

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    sfHover() sera appelé quand la page est chargée.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut
    ok mais alors qu'est ce que va devenir mon script?

    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
     <script type="text/javascript">
       sfHover = function() {
        var sfEls = document.getElementById("menuHorizon").getElementsByTagName("li");
        for (var i=0; i<sfEls.length; i++) {
            sfEls[i].onmouseover = function() {
                this.getElementsByTagName("ul")[0].style.display = "block";
     
     
            }
            sfEls[i].onmouseout = function() {
                this.getElementsByTagName("ul")[0].style.display = "none";
     
     
            }
     
        }
    }
    if (window.attachEvent) window.attachEvent("onload", sfHover);
       </script>
    je dois l'enlever entièrement

Discussions similaires

  1. comment integrer ce src script dans ma page html ?
    Par grib1903 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 14/07/2008, 00h56
  2. repeter plusieurs fois le meme script dans une page
    Par juju03 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 02/07/2008, 11h22
  3. Comment masquer les erreurs de script dans un WebBrowser ?
    Par mont5piques dans le forum Web & réseau
    Réponses: 2
    Dernier message: 11/05/2008, 17h32
  4. Récupération d'URL pour ajouter un script dans la page
    Par poissonrouge dans le forum Langage
    Réponses: 1
    Dernier message: 17/09/2007, 15h39
  5. Script dans une page à part et l'appeler par un lien
    Par kent151 dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 22/04/2006, 18h59

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