Zum Inhalt springen

Div id in 2. Menüebene

Erstellt am 13. Juni 2006 · 4 Antworten · letzte Antwort am 14. Juni 2006

Tags: Frage

rhodan ·

Hallo,

ich habe ein Menülink, bei dem ein bestimmtes div angezeigt werden soll. Wie bekomme ich die pid als id des divs ausgeschrieben?

( so: <div id="{pid}">2. Menüebene</div> )

in der ersten Menüebene hol ich mir als id die uid. Funkt auch.
Wie ihr seht möchte ich jetzt die 2. Menüebene in einem bestimmten div ein und ausblenden. Ich muß aber die Ebene aber nach der uid der 1. Ebene bennen.

nav = COA
nav {
  10 = HMENU
  10.entryLevel = 0
  
  10.1 = TMENU
  10.1 {
        expAll = 1
        NO.linkWrap = |
	IFSUB = 1
	IFSUB.doNotLinkIt = 1
	IFSUB.subst_elementUid = 1
	IFSUB.allWrap = <div onmouseover="HideLayers('menu{elementUid}','','show')" onmouseout="HideLayers('menu{elementUid}','','hide')">|
       }

  10.2 = TMENU
  10.2 {
       wrap =<div id="{[i]pid oder die uid der ersten           Ebene[/i]}">|</div></div>
        NO{
           linkWrap = <div> | </div>
            }
        }
}

[/b]

rhodan ·

irgendwie nicht.

ich bekomme es einfach nicht hin, mehr als eine zeile ausgeben zu lassen.

10.2 = TMENU
10.2 {

wrap = <div id="{field:uid}">|</div>
wrap = </div>
NO{
linkWrap = <div> | </div>
}
}

rhodan ·

hiermit entschuldige ich mich für meine blödheit.
ich mußte nur das <div id="menu{elementUid}"> in die erste menüebene packen.

Dies ist vielleicht eine Alternative für das Problem mit den TMENU_Layer-Position bei Websiten die in der Mitte zentriert sind.

Jedenfalls kann ich jetzt meine <divs> ein und ausbleneden bei mouseover.

Die Lösung:

nav = COA
nav {
  10 = HMENU
  10.entryLevel = 0
  10.1 = TMENU
  10.1 {
        expAll = 1
        NO.linkWrap = <div id="menu1">|</div>
        IFSUB = 1
	IFSUB.subst_elementUid = 1
	IFSUB.allWrap = <div id="menu1" onmouseover="MM_showHideLayers('menu{elementUid}','','show')" onmouseout="MM_showHideLayers('menu{elementUid}','','hide')">| <div id="menu{elementUid}">
  }
  
  10.2 = TMENU
  10.2 {
    wrap =  |</div></div>
    NO{
     linkWrap = <div>|</div>
      }
   }
}

und hier das Javascript:

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

#angry# #angry# #angry#