érreur sur childNodes

érreur sur childNodes - HTML/CSS - Programmation

Marsh Posté le 12-03-2014 à 11:13:44    

bonjour, j'ésperes que vous pouvez m'aidé a réparé cette erreur
 

Citation :

Type et valeur du node:object
null container.js:137
Uncaught TypeError: Cannot read property 'childNodes' of null container.js:139


 
le code
 

Citation :

<script>
    /*
        On récupère la SECTION principale.
        C'est dans celle-ci que le script va travailler
    */
    var main_section = document.getElementById('main_section');
     
  /*
        On récupère la SECTION principale.
        C'est dans celle-ci que le script va travailler
    */
    var main_section = document.getElementById('main_section');
     
    /*
        On initialise les MENUs et les PAGEs
        C'est à dire qu'on active le premier
            TAB (onglet) de chaque SECTION
            et on affiche la PAGE correspondante
    */
    var menu = childs(main_section)[1];
    reset(menu);
     
    /*
        Cette fonction va selectionner le premier TAB du MENU fourni,
            et afficher la PAGE correspondante en faisant un RESET des
            MENUs qui sont dans le CONTENT
    */
    function reset(menu)
    {
        // En paralèlle au menu est le contenu Cf HTML
        var content = next(menu);
         
        // On reset le menu courant
        var tabs = childs(menu);
        for(var k = 0; k < tabs.length; k++)
        {
            // Si c'est le premier onglet du menu
            if(k == 0)
            {
                $(tabs[k]).removeClass('unactive').addClass('active');
                tabs[k].onclick = function(){ return false; };
            }
            // Sinon ..
            else
            {
                $(tabs[k]).removeClass('active').addClass('unactive');
                tabs[k].onclick = function(){ click(this); };
            }
        }
         
        // On reset les pages courantes
        var pages = childs(content);
        for(var k = 0; k < pages.length; k++)
        {
            if(k == 0)
            {
                $(pages[k]).removeClass('undisplayed').addClass('displayed');
            }
            else
            {
                $(pages[k]).removeClass('displayed').addClass('undisplayed');
            }
        }
         
        // On RESET les menus des pages
        var menus = content.getElementsByClassName('menu');
        for(var k = 0; k < menus.length; k++)
        {
            reset(menus[k]);
        }
    }
    /*
        Cette fonction selectionne le TAB fourni, active la PAGE correspondante,
            et RESET les MENUs du CONTENT.
    */
    function click(tab)
    {
        // Menu et content
        var menu = tab.parentNode;
        var content = next(menu);
         
        // On reset le menu courant
        var tabs = childs(menu);
        var n = -1;
        for(var k = 0; k < tabs.length; k++)
        {
            // Si c'est l'onglet sur lequel on a cliqué
            if(tabs[k] == tab)
            {
                n = k;
                $(tabs[k]).removeClass('unactive').addClass('active');
                tabs[k].onclick = function(){ return false; };
            }
            // Sinon ...
            else
            {
                $(tabs[k]).removeClass('active').addClass('unactive');
                tabs[k].onclick = function(){ click(this); };
            }
        }
         
        // On reset les pages courantes
        var pages = childs(content);
        for(var k = 0; k < pages.length; k++)
        {
            if(k == n)
            {
                $(pages[k]).removeClass('undisplayed').addClass('displayed');
            }
            else
            {
                $(pages[k]).removeClass('displayed').addClass('undisplayed');
            }
        }
         
        // On reset les menus des pages courantes
        var menus = content.getElementsByClassName('menu');
        for(var k = 0; k < menus.length; k++)
        {
            reset(menus[k]);
        }
    }
     
    /*
        Retourne le Noeud du DOM (hors noeud de text) suivant le node donné
    */
    function next(node)
    {
        var next = node.nextSibling;
        while(next && next.nodeType != 1)
        {
            next = next.nextSibling;
        }
        return next;
    }
    /*
        Retourne les Noeud du DOM (hors noeud de text) enfants du node donné
    */
    function childs(node)
    {
        var child_nodes_temp = node.childNodes;
        var child_nodes = new Array();
        for(var k = 0; k < child_nodes_temp.length; k++)
        {
            if(child_nodes_temp[k].nodeType == 1)
            {
                child_nodes.push(child_nodes_temp[k]);
            }
        }
        return child_nodes;
    }
          </script>


 
le html
 

Citation :

                                                                                           <!-- Début menu main_section -->  
                       <div id="main_section" class="section">
 
<!-- MEME SI VIDE, TOUJOURS LAISSER CE H2 - LE CSS PEUT LE RENDRE INVISIBLE EN CAS DE BESOIN SI VRAIMENT GENANT, IL PEUT ETRE RETIRER A CONDITION DE REMPLACER "childs(main_section)[1]" PAR childs(main_section)[0] ET DE FAIRE ATTENTION ... -->
 
                                                          <h2>Espace membre</h2>
 
                                                                                            <!-- Début profil -->
             
            <!-- Début menu -->
             
            <ul class="menu_horizontal_profil">
             
                                                <!-- Début tab -->
                     
                     <li class="tab">Profile</li>
                     <li class="tab">Editer Profile</li>
                     <li class="tab">Mes outils</li>
                     <li class="tab">Paramètres</li>
                     
                     <!-- Fin tab -->
                     
                                                            <!-- Début clear -->
                                 
                                 <div class="clear"></div>
                                 
                                 <!-- <fin clear -->
                 
               
              <!-- Fin menu -->
               
              </ul>
               
               <!-- Début content -->
       
      <div class="content">
       
       
                        <!-- Début page -->
             
            <div class="page">
             
            <!-- Fin page -->
             
            </div>
             
         
      </div>
       
      <!-- Fin content -->
 
 
                                                                                            <!-- Fin profil -->
                         
                         
                                                                                             
                       <!-- Début editer profil -->
 
 
 
 
 
                       <!-- Fin  editer profil -->
                         
                       </div>
                       <!-- Fin menu main_section -->  
 


 
merci de votre aide


Message édité par ivan941 le 12-03-2014 à 12:00:30
Reply

Marsh Posté le 12-03-2014 à 11:13:44   

Reply

Marsh Posté le 12-03-2014 à 11:31:57    

Ici c'est java pas javascript

Reply

Marsh Posté le 12-03-2014 à 12:02:37    

merci, j'ai redite le message et changer les sous catégorie html css javasscript
 
j'esperes il y auras quelqu'un qui pourrais m'aider a recoudre

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed