AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Javascript] Was ist an der Funktion falsch?
Thema durchsuchen
Ansicht
Themen-Optionen

[Javascript] Was ist an der Funktion falsch?

Ein Thema von quendolineDD · begonnen am 27. Jan 2008 · letzter Beitrag vom 27. Jan 2008
 
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [Javascript] Was ist an der Funktion falsch?

  Alt 27. Jan 2008, 16:55
Nein, kommen keine Fehler. Danach habe ich schon geschaut.

Da muss was am Aufruf falsch sein, obwohl der eigentlich richtig ist o.O

Code:
function mShow(e)
{
   if (!e.getElementsByTagName) {
      return;
   }
   
   // Alle Listen im Menü:
   var subLists = e.parentNode.getElementsByTagName("ul");
   
   // Erstmal alle Untermenüs ausblenden, die nicht zum geklickten Eintrag gehören:
   for (var i = 0; i < subLists.length; i++) {
      if (subLists[i].parentNode !== e) {
         subLists[i].style.display = "none";
      }
   }
   
   // Das Untermenü des geklickten Eintrags einblenden:
   var obj = e.getElementsByTagName("ul");
   
   e.getElementsByTagName("ul")[0].style.display = "block";

   for (var i = 0; i < obj.length; i++) {
   obj[0].childNodes[i].style.display = "block";
   }
}
//-->
Selbst wenn ich auf die einzelnen Childnodes des UL zugreife kommt nichts anderes heraus ... auch tagName oder length geht nicht aufzurufen ...

Mmh, irgendwo lag da ein Fehler. Hab die Funktion nochmal umgeschrieben und bin die Struktur von oben nach unten nochmal gegangen ... so klappt es jetzt:
Code:
function mShow(e)
{
   if (!e.getElementsByTagName) {
      return;
   }
   
   // Alle Listen im Menü:
   var subLists = e.parentNode.getElementsByTagName("ul");
   
   // Erstmal alle Untermenüs ausblenden, die nicht zum geklickten Eintrag gehören:
   for (var i = 0; i < subLists.length; i++) {
      if (subLists[i].parentNode !== e) {
         subLists[i].style.display = "none";
      }
   }
   
   // Das Untermenü des geklickten Eintrags einblenden:
      var mnu   = document.getElementById('menu');
   var toplis = mnu.getElementsByTagName('li');

   for (var it = 0; it < toplis.length; it++)
   {
      var sublis = toplis[it].getElementsByTagName('li');

      for (var is = 0; is < sublis.length; is++)
         if (sublis[is].style)
            sublis[is].style.display = (toplis[it] == e) ? 'block' : 'none';
   }
}
//-->
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz