vigas: Problem mit dynamischen Menü

Hallo Leute!

Habe heute ein dynamisches Menü gefunden (gesucht habe ich es, weil ich sowas selber nicht kann). Läuft alles problemlos, konnte es an meine Hp ohne Probleme anpassen. Nun habe ich aber folgendes Problem:

Wenn ich z.b den Link "Musik" habe und man mit der Maus drüberfährt erscheint das Untermenü direkt darunter, und zwar: CD Besprechungen, Konzerte, etc.
Jetzt möchte ich dass bei Konzerte sich wieder ein Menü öffnet und zwar rechts davon. Ich denke es ist klar wie ich es meine, da leider ein Depp in der Hinsicht bin bräuchte ich eure Hilfe.

----------------------------------------------
var menu1=new Array()
menu1[0]='<a href="http://www.javascriptkit.com">Konzerte</a><br>'
menu1[1]='<a href="http://www.freewarejava.com">CD Bewertungen</a><br>'
menu1[2]='<a href="http://codingforums.com">In and OUTS</a><br>'

//Contents for menu 2, and so on
var menu2=new Array()
menu2[0]='<a href="http://cnn.com">CNN</a><br>'
menu2[1]='<a href="http://msnbc.com">MSNBC</a><br>'
menu2[2]='<a href="http://news.bbc.co.uk">BBC News</a><br>'

var menu3=new Array()
menu3[0]='<a href="http://cnn.com">CNN</a><br>'
menu3[1]='<a href="http://msnbc.com">MSNBC</a><br>'
menu3[2]='<a href="http://news.bbc.co.uk">BBC News</a><br>'

var menu4=new Array()
menu4[0]='<a href="http://cnn.com">Steckbrief Sebi</a><br>'
menu4[1]='<a href="http://msnbc.com">Steckbrief Thomas</a><br>'
menu4[2]='<a href="http://news.bbc.co.uk">2 Tage Prag</a><br>'

var menu5=new Array()
menu5[0]='<a href="http://cnn.com">GO VEGAN!</a><br>'
menu5[1]='<a href="http://msnbc.com">Verpflichtung für ein Jahr</a><br>'

var menu6=new Array()
menu6[0]='<a href="http://cnn.com">One</a><br>'
menu6[1]='<a href="http://msnbc.com">Wiener Linien</a><br>'
menu6[2]='<a href="http://news.bbc.co.uk">bla bla</a><br>'

var menuwidth='165px' //default menu width
var menubgcolor='3A3C69'  //menu bgcolor
var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}

function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

</script>
----------------------------------

Vielleicht hilft das ja.

Mit Dank im Voraus

vigas

  1. Hallo vigas!

    Habe heute ein dynamisches Menü gefunden (gesucht habe ich es, weil ich sowas selber nicht kann). Läuft alles problemlos, konnte es an meine Hp ohne Probleme anpassen. Nun habe ich aber folgendes Problem:

    Poste doch bitte den Link zu der Seite, auf der du das Menü gefunden hast, bzw. den Link zu deiner Seite (falls schon online).

    Auf den ersten (sehr flüchtigen) Blick auf diese Masse Script, würde ich sagen, dass dieses Menü nur für eine Ebene pro Menüpunkt konzipiert ist.

    Zufällig bin ich gerade über so etwas gestolpert http://www.digital-halide.com/cssmenu/multi/

    Vielleicht hilft das ja auch weiter?

    Gruß Gunther

    1. Nachdem das Problem weiterhin besteht, dass ich mich in der Materie nicht auskenne,war ich froh schon etwas zu haben was steht und nur mehr anpassen zu müssen. Es sollte doch eine Möglichkeit geben, diesen Wunsch in das vorgegebene einzubauen.

      Link habe ich leider nicht mehr, und Hp ist nicht online...(sprich nicht up)

      danke