[Racine des codes] [Page précédente]

whereInMenu

/Html JavaSript/whereInMenu.html
<html>
<head>
<style type="text/css">
.liSelected>a {
  color:red;
}
</style>
<script type="text/javascript">
function markSelect() {
  var URL = new String(document.location);
  var rep = URL.split("/");
}

function searchHref(fullHref) {
  //var fullHref = document.location;
  var hrefFils = document.getElementById('menu').getElementsByTagName('a');
  var href;
  for(var i=0; i<hrefFils.length; i++) {
    href = hrefFils[i];
    if(href.getAttribute("href")==fullHref) {
      // lien trouvé

      // a -> li père -> ul fils (== ul suivant a) : ouvre ce sous-menu
      var uls = href.parentNode.getElementsByTagName('ul');
      if (uls.length>0) uls[0].style.display = 'block';


      openUlParent(href.parentNode); // remonte depuis le <li>
      return;
    }
  }
}

function openUlParent(node) {
  if (node.nodeName!='LI' && node.nodeName!='UL') return;
  if (node.nodeName=='LI') {
    // selectionne
    //node.className = 'liSelected';
    marqueFilsDirect(node)
  } else {
    // rend visible
    node.style.display='block';
  }
  openUlParent(node.parentNode);
}

function marqueFilsDirect(node) {
  var ff, fils = node.childNodes;
  for(var i=0; i<fils.length; i++) {
    ff = fils[i];
    if(ff.nodeType==1 && ff.nodeName=='A'){
      ff.style.color='yellow';
    }
  }
}

function closeUlChildren(nodeId) {
  var ul = document.getElementById(nodeId);
  var ulFils = ul.getElementsByTagName('ul');
  for (var i=0; i<ulFils.length; i++) {
    ulFils[i].style.display='none';
  }
}
</script>
</head>
<body bgcolor="#AAAAAA" onload="closeUlChildren('menu')">

  <input type="button" value="reset" onclick="document.location.reload()"><br>

  <input type="button" value="Section1" onclick="searchHref('file:///C:/Documents%20and%20Settings/Administrateur/Bureau/Section1')">
  <input type="button" value="l11" onclick="searchHref('file:///C:/Documents%20and%20Settings/Administrateur/Bureau/l11')">
  <input type="button" value="m111" onclick="searchHref('file:///C:/Documents%20and%20Settings/Administrateur/Bureau/m111')">

<ul id="menu">
  <li><a href="file:///C:/Documents%20and%20Settings/Administrateur/Bureau/Section1">Section 1</a>
    <ul id="foo">
      <li>
        <a href="ooo">10</a>
        <ul>
          <li><a href="pipo">100</a></li>
          <li><a href="">101</a></li>
          <li><a href="">102</a></li>
        </ul>
      </li>
      <li>
        <a href="file:///C:/Documents%20and%20Settings/Administrateur/Bureau/l11">11</a>
        <ul>
          <li><a href="pipo">110</a></li>
          <li><a href="file:///C:/Documents%20and%20Settings/Administrateur/Bureau/m111">111</a></li>
          <li><a href="m112" id="baar">112</a></li>
        </ul>
      </li>
      <li>
        <a href="l21">12</a>
        <ul>
          <li><a href="m121">121</a></li>
          <li><a href="m122">122</a></li>
        </ul>
      </li>
      <li>
        <a href="l31">13</a>
      </li>
    </ul>
  </li>
  <li><a href="S2">Section 2</a>
    <ul>
      <li><a href="l21">21</a></li>
      <li><a href="l22">22</a></li>
      <li><a href="l23">23</a></li>
    </ul>
  </li>
</ul>

</body>
</html>
[edit]