Witam,

Tworze skrypt rozwijanego drzewa, który ma służyć do działu download; drzewo ma postac :

  1. <li onmouseout='hideNodes(this)'><a style='cursor:pointer' onmouseover='showNodes(this.parentNode)'>tekst linku</a>
  2. <ul style='display: none'>
  3. <li><b>Język: </b> ---</li>
  4. <li><b>Pobrań: </b> ----</li>
  5. <li><b>Wielkość: </b>-----</li>
  6. <li><a href='------'>Pobierz</a></li>
  7. </ul>
  8. </li>


Dane pobierane są z bazy Mysql, i do kazdego linku tworzona jest lista jak powyzej.
Funkcjonalność: użytkownikowi po najechaniu na "tekst linku" otwiera sie dodatkowa lista z danymi i linkiem do pobrania, gdy użytkownik zdejmie kursor z listy, lista się zamyka.

Teraz koda jscript :

  1. function showNodes(liElem){
  2.  
  3.  
  4. var elem = getSpecificElem(liElem, "ul");
  5. elem.style.display = "block";
  6.  
  7. }
  8.  
  9. function hideNodes(liElem) {
  10.  
  11. var elem = getSpecificElem(liElem, "ul");
  12. elem.style.display = "none";
  13. }
  14.  
  15. function getSpecificElem(elem, tagName){
  16.  
  17. for (var i = 0, childElem; i < elem.childNodes.length; i++) {
  18.  
  19. // temporary elem
  20. childElem = elem.childNodes.item(i);
  21.  
  22.  
  23. if(childElem.nodeName.toLowerCase() == tagName) {
  24.  
  25. return childElem;
  26.  
  27. }
  28. }
  29.  
  30. return null;
  31.  
  32. }


Problem polega na tym, iż użytkownik nie jest w stanie kliknąć w link pobierz, gdyż od razu po "zjechaniu" z tekstu głównego linku, link się zamyka, a otwiera się link niżej. Nie powinno być tak, że onmouseout działa na całą zawartość znacznika ?

Z góry dzięki za wszelkie sugestie