Hallo,
ich möchte die Ein- und Ausblendefunktion in einem CSS-Menü durch Javascript absichern. Ich habe so etwas allerdings noch nicht gemacht und benötige daher etwas Hilfe, denn die meisten Sites, die ich im Internet gefunden habe, sind für mein Problem deutlich zu aufgeblasen.
Meine Idee:
1. Abfragen des Browsers + Version
2. Auswerten, welche Varianten CSS nicht unterstützen und Menüs ggf. ein -/ausblenden, wenn JavaScript unterstützt wird.
Das Einblenden der DIV-Bereiche wollte ich mit getElementById realisieren.
--> Klappt auch bereits ganz gut (Verbesserungsvorschläge würde ich aber trotzdem gerne hören).
Problem: Wenn der Mauszeiger aus dem Bereich des jeweiligen Hauptmenü-Buttons herausgezogen wird, verschwindet das Untermenü, so dass ich die Submenü-Einträge nicht erreichen kann.
Wie kann ich das verändern?
Quellcode-Auszug:
<div id="bottomnavi">
<ul id="navlist_bottom">
<li><a href="#" onmouseover="javascript:popupmenu(2,'subnavlist_6')"
onmouseout=" javascript:closemenu(2,'subnavlist_6')">Partner</a>
<ul id="subnavlist_6">
<li><a href="#">AAA</a></li>
<li><a href="#">BBB</a></li>
<li><a href="#">CCC</a></li>
<li><a href="#">DDD</a></li>
</ul>
</li>
<li><a href="#">News</a>
<li><a href="#">Downloads</a></li>
<li><a href="#">Kontakt</a></li>
<li><a href="#">Sitemap</a></li>
<li><a href="#">Impressum</a></li>
</ul>
</div>
***********************************************************************
var isIE;
var isOP;
//
var appVers;
// *****************************************************************************
// Diese Funktion ermittelt den Namen des verwendeten Browsers
// *****************************************************************************
function getBrowser() {
var agent = navigator.userAgent.toLowerCase();
//
isIE = (agent.indexOf("msie") > -1 && navigator.indexOf("opera") == -1);
isOP = (agent.indexOf("opera") > -1);
//
appVers = navigator.appVersion;
}
// *****************************************************************************
// Öffne Menü (panel = oberes o. unteres Menü)
// (menu = index zum Untermenü)
// *****************************************************************************
function popupmenu(panel, menuname) {
//if(ie5){
//menu[obj].style.filter = myEffect; // set your effect from one of the top 25 differents effects
//menu[obj].filters[0].Apply();
//menu[menuname].style.visibility = visibility;
//menu[menuname].filters[0].Play();
//}
document.getElementById(menuname).style.visibility = "visible";
// document.getElementsByName(String(menuname)).style.top=0;
// document.getElementsByName(String(menuname)).style.left=0;
}
function closemenu(panel, menuname) {
document.getElementById(menuname).style.visibility = "hidden";
}