Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Problem mit Aufklappmenü im IE





Frage

Hi alle zusammen, ich hätte da ein kleines problem mit meinem Aufklappmenü im Internet Explorer. Im firefox funktioniert alles perfekt doch im IE will sich die zweite schaltfläche nicht aufklappen. Ich hoffe ich hab es halbwegs verständlich erklärt. Ich geb euch mal den link, damit ihr euch das mal ansehen könnt. http://www.ff-brand.at/dropdownmenu.html und hier der Quelltext: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 //EN"> <html><head> <title>Title here!</title><link rel="stylesheet" type="text/css" href="dropdownmenu-Dateien/dropdownmenu.css"> <script type="text/javascript" src="dropdownmenu-Dateien/css_dropdown.js"></script></head><body onload="enable_menues_for_ie();"> <ul id="nav" class="dropdown"> <li> Einsatzstatistik<ul> <li><a href="#">2005</a></li> <li><a href="#">2006</a> </li> </ul> </li> </ul> <p></p> </body></html> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 //EN"> <html><head> <title>Title here!</title><link rel="stylesheet" type="text/css" href="dropdownmenu-Dateien/dropdownmenu.css"> <script type="text/javascript" src="dropdownmenu-Dateien/css_dropdown.js"></script></head><body onload="enable_menues_for_ie();"> <ul id="nav" class="dropdown"> <li> Einsatzstatistik<ul> <li><a href="#">2005</a></li> <li><a href="#">2006</a> </li> </ul> </li> </ul> <p></p> </body></html> Ich wäre euch sehr verbunden wenn ihr mir sagen könntet, was ich da änder soll damit das funkt. Kenn mich da nämlich nicht so gut aus. Danke schon mal im voraus. mfG ibg

Antwort 1 von Road-Runner

Hallo,

bei mir klappen beide Schaltflächen sowohl in Firefox 2.0 als auch im IE 7 auf.

IE 6 kann ich nicht testen, den habe ich nicht mehr.

Gruss

Road-Runner

Antwort 2 von rfb

Du hast quasi 2 Internetseiten in eine Datei gequetscht, was natürlich nur Fehler nach sich zieht.

Dass der IE6 hier nicht mit macht im Ggs. zu anderen Browsern liegt daran, dass er als einziger das Menü mittels JavaScript aufklappen muss (alle anderen nutzen CSS dafür, was du ja als Alternative anbietest). Und da kann er eben nur ein Menü ansprechen.

Lass in deinem Quellcode alles zwischen dem ersten <p></p>
und dem zweiten
<ul id="nav" class="dropdown">
komplett weg.
Ändere das 2te
id="nav"
in
id="nav2"

Dann besteht eine Chance, dass das klappt.

Antwort 3 von ibg

ich hab jetzt mal deinen Rat befolgt. Doch irgendwie gehts jetzt noch weniger. Trotzdem danke.
Naja wenn ich schon dass nicht mit dem Internet Explorer zum laufen bringen, wüsste dann jemand eins das genau die gleichen Eigenschaften hat und trotzdem funkt. In beiden Browsern?

ibg

Antwort 4 von rfb

ah ja, da ist einfach noch ein böser Bug in dem Script:

function enable_menues_for_ie()
{
	if (document.all)
	{
        uls = document.getElementsByTagName(´UL´);
        for(var j = 0; j< uls.length; j++)
        {
            if (uls[j].className == ´dropdown´)
            {
                var lis = uls[j].getElementsByTagName(´li´);

                for (var l = 0; l < lis.length; l++)
                {
                    if(lis[l].lastChild.tagName == ´UL´)
                    {
                        lis[l].onmouseover = function() { this.lastChild.style.display = ´block´; }
                        lis[l].onmouseout = function() { this.lastChild.style.display = ´none´; }
                    }
                }
            }
        }
    }
}

Wenn du diese korrigierte Form mit dem Inhalt der Datei dropdownmenu-Dateien/css_dropdown.js vergleichst stellst du fest, dass im Original zwei for-Schleifen mit dem Index i liefen - das kann natürlich gar nicht klappen. So sollte das jetzt eher funktionieren.

Antwort 5 von ibg

Thx!!!!!!!!!!

Scheint jetzt perfekt zu funktionieren!!!

Ich hab´s auch nochmal hinaufgeladen damit du dein Werk bewundern kannst!!

Danke nochmal.
mfG ibg

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: