mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 23:25 Benutzername: Passwort: Auto-Login

Thema: Javascript: Aufklappemenü - Hilfe vom 21.06.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Javascript: Aufklappemenü - Hilfe
Seite: 1, 2  Weiter
Autor Nachricht
chrisnrw
Threadersteller

Dabei seit: 20.08.2004
Ort: Essen
Alter: 38
Geschlecht: Männlich
Verfasst Di 21.06.2005 14:50
Titel

Javascript: Aufklappemenü - Hilfe

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

ich habe hier ein Script für ein Aufklappemenü was auch gut funktioniert.
Jedoch würde ich jetzt gerne anstatt einen Text wie z.B. "Restaurant"
oder beim Untermenü "Speisekarte" lieber eine Grafik einbinden.

Ich poste jetzt mal einen Auszug von dem Script vielleicht kann mir
ja jemand sagen wo ich die Grafiken einbinden kann.

Schonmal Vielen Dank im Vorraus.

Gruss,
Chris

Code:
Menu1=new Array("Home","home.html","",0,20,150);

Menu2=new Array("Restaurant","","",3,20,150);
   Menu2_1=new Array("Bauernstube","home.html","",0,20,148);
   Menu2_2=new Array("Bier und Weinräume","home.html","",0,20,148);
   Menu2_3=new Array("Speisekarte","home.html","",0,20,148);

Menu3=new Array("Gesellschaftsräume","home.html","",3,20,150);
   Menu3_1=new Array("Bier und Weinstube","home.html","",0,20,148);
   Menu3_2=new Array("Konferenzräume","home.html","",0,20,148);
   Menu3_3=new Array("Saal","home.html","",0,20,148);


Menu4=new Array("Biergarten","","",2,20,150);
   Menu4_1=new Array("Speisekarte","home.html","",0,20,148);
   Menu4_2=new Array("Getränkekarte","home.html","",0,20,148);
   
Menu5=new Array("Impressum","home.html","",0,20,150);
  View user's profile Private Nachricht senden
caZpa
Account gelöscht


Ort: -

Verfasst Di 21.06.2005 14:59
Titel

Re: Javascript: Aufklappemenü - Hilfe

Antworten mit Zitat Zum Seitenanfang

chrisnrw hat geschrieben:
Hallo zusammen,

ich habe hier ein Script für ein Aufklappemenü was auch gut funktioniert.
Jedoch würde ich jetzt gerne anstatt einen Text wie z.B. "Restaurant"
oder beim Untermenü "Speisekarte" lieber eine Grafik einbinden.

Ich poste jetzt mal einen Auszug von dem Script vielleicht kann mir
ja jemand sagen wo ich die Grafiken einbinden kann.

Schonmal Vielen Dank im Vorraus.

Gruss,
Chris


ist doch selbsterklärend deine frage. wenn du anstatt >restaurant< ein bild haben willst, muss das restaurant da wohl weg undn bild rein

logisch oder
 
Anzeige
Anzeige
chrisnrw
Threadersteller

Dabei seit: 20.08.2004
Ort: Essen
Alter: 38
Geschlecht: Männlich
Verfasst Di 21.06.2005 15:08
Titel

Antworten mit Zitat Zum Seitenanfang

Wenn es so einfach ginge hätte ich das wohl gemacht, klingt auch logisch oder ?
Nein, vielleicht sehe ich auch vor lauter Bäumen den Wald nicht.

Das Menü besteht aus zwei js-dateien, dort kann man in Dreamweaver nicht einfach
ein Bild einfügen. Ich poste jetzt mal die wichtigste Datei:

///// menu_var.js /////

Code:

   var NoOffFirstLineMenus=5;
   var LowBgColor='#8CAA95';
   var LowSubBgColor='#475C8E';
   var HighBgColor='#B4C7DC';
   var HighSubBgColor='#92AECD';
   var FontLowColor='black';
   var FontSubLowColor='#B4C7DC';
   var FontHighColor='white';
   var FontSubHighColor='white';
   var BorderColor='CCD4DC';
   var BorderSubColor='CCD4DC';
   var BorderWidth=0;
   var BorderBtwnElmnts=1;
   var FontFamily="verdana,tahoma,arial,Times New Roman";
   var FontSize=8;
   var FontBold=0;
   var FontItalic=0;
   var MenuTextCentered='left';
   var MenuCentered='center';
   var MenuVerticalCentered='static';
   var ChildOverlap=.2;
   var ChildVerticalOverlap=.2;
   var StartTop=130;
   var StartLeft=0;
   var VerCorrect=85;
   var HorCorrect=-2;
   var LeftPaddng=10;
   var TopPaddng=2;
   var FirstLineHorizontal=1;
   var MenuFramesVertical=0;
   var DissapearDelay=600;
   var TakeOverBgColor=1;
   var FirstLineFrame='navi';
   var SecLineFrame='links';
   var DocTargetFrame='inhalt';
   var TargetLoc='';
   var HideTop=0;
   var MenuWrap=1;
   var RightToLeft=0;
   var UnfoldsOnClick=0;
   var WebMasterCheck=0;
   var ShowArrow=1;
   var KeepHilite=1;
   var Arrws=['tridown.gif',5,10,'tri.gif',5,5,'trileft.gif',5,10];

function BeforeStart(){return}
function AfterBuild(){return}
function BeforeFirstOpen(){return}
function AfterCloseAll(){return}

Menu1=new Array("Home","home.html","",0,20,150);

Menu2=new Array("Restaurant","","",3,20,150);
   Menu2_1=new Array("Bauernstube","home.html","",0,20,148);
   Menu2_2=new Array("Bier und Weinräume","home.html","",0,20,148);
   Menu2_3=new Array("Speisekarte","home.html","",0,20,148);

Menu3=new Array("Gesellschaftsräume","home.html","",3,20,150);
   Menu3_1=new Array("Bier und Weinstube","home.html","",0,20,148);
   Menu3_2=new Array("Konferenzräume","home.html","",0,20,148);
   Menu3_3=new Array("Saal","home.html","",0,20,148);


Menu4=new Array("Biergarten","","",2,20,150);
   Menu4_1=new Array("Speisekarte","home.html","",0,20,148);
   Menu4_2=new Array("Getränkekarte","home.html","",0,20,148);
   
Menu5=new Array("Impressum","home.html","",0,20,150);


Ich habe es mal einfach mit
Code:
 <img src="...">
versucht aber das funzt auch nicht.

Naja vielleicht hat ja jemand eine andere Lösung.
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Di 21.06.2005 15:26
Titel

Antworten mit Zitat Zum Seitenanfang

Nein. Nicht ohne das Script zu kennen. Die einzelnen Elemente werden wahrscheinlich dynamisch gebaut und mit Inhalt-Text gefüllt. Über DOM kannnst du html-elemente nicht einfach reinschreiben, sondern musst diese ebenfalls erzeugen (bspw. mit createElement und dann => deinKnoten.appendChild). Es gibt die möglichkeit, HTML und damit ein img-Tag direkt über deinKnoten.innerHTML zu erzeugen, dies ist aber glaub ich nicht in jedem Browser erlaubt.

Wie auch immer, ohne das ganze Script kann man dir nicht helfen, du hast nur Konfigurationsvariablen gepostet, was ja mal gar nix bringt.
 
g0bLiN

Dabei seit: 05.04.2002
Ort: Berlin
Alter: 41
Geschlecht: Männlich
Verfasst Di 21.06.2005 15:27
Titel

Antworten mit Zitat Zum Seitenanfang

da es sich um eine string handelt kannst du es auf folgende weise einsetzen:

Code:
Menu2=new Array("Restaurant","","",3,20,150); 
wird zu:

Menu2=new Array('<img src="xxx.gif">',"","",3,20,150);

oder

Menu2=new Array("<img src=\"xxx.gif\">","","",3,20,150);


im letzten fall werden die " escaped, damit es nicht zu syntax fehlern kommt.

ich vermute aber auch einfach mal das du das menü per document.write raushaust ... falls das nicht der fall ist dann schileße ich mich dem zuvor gepostetet an -> poste den rest vom script sonst bingts nix dir zu helfen

greetz g0b


Zuletzt bearbeitet von g0bLiN am Di 21.06.2005 15:41, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
chrisnrw
Threadersteller

Dabei seit: 20.08.2004
Ort: Essen
Alter: 38
Geschlecht: Männlich
Verfasst Di 21.06.2005 15:39
Titel

Antworten mit Zitat Zum Seitenanfang

Erstmal danke für eure Antworten. Ich habe die Idee von Goblin versucht jedoch hat das nicht funktioniert.

@XSchinkenX: Ich werde einfach mal das komplette Script posten. Vielleicht kannst du mir ja weiterhelfen,
denn das was du mir geschrieben hast sagt mir nicht viel (DOM->createElement->deinKnoten etc...)


edit: ich schätze mal das ist zu kompliziert das jetzt umzuschreiben oder ? Vielleicht hat ja jemand ein
Tutorial oder ein fertiges Script für ein horizontales Aufklappmenü mit eigenen Grafiken ?


Code:


var AgntUsr=navigator.userAgent.toLowerCase();
   var DomYes=document.getElementById?1:0;
   var NavYes=AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1?1:0;
   var ExpYes=AgntUsr.indexOf('msie')!=-1?1:0;
   var Opr=AgntUsr.indexOf('opera')!=-1?1:0;
   var DomNav=DomYes&&NavYes?1:0;
    var DomExp=DomYes&&ExpYes?1:0;
   var Nav4=NavYes&&!DomYes&&document.layers?1:0;
   var Exp4=ExpYes&&!DomYes&&document.all?1:0;
   var PosStrt=(NavYes||ExpYes)&&!Opr?1:0;

   var FrstLoc,ScLoc,DcLoc;
   var ScWinWdth,ScWinHght,FrstWinWdth,FrstWinHght;
   var ScLdAgainWin;
   var FirstColPos,SecColPos,DocColPos;
   var RcrsLvl=0;
   var FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=1;
   var FrstCntnr=null,CurrntOvr=null,CloseTmr=null;
   var CntrTxt,TxtClose,ImgStr;
   var Ztop=100;
   var ShwFlg=0;
   var M_StrtTp=StartTop,M_StrtLft=StartLeft;
   var StaticPos=0;
   var LftXtra=DomNav?LeftPaddng:0;
   var TpXtra=DomNav?TopPaddng:0;
   var M_Hide=Nav4?'hide':'hidden';
   var M_Show=Nav4?'show':'visible';
   var Par=parent.frames[0]&&FirstLineFrame!=SecLineFrame?parent:window;
   var Doc=Par.document;
   var Bod=Doc.body;
   var Trigger=NavYes?Par:Bod;

   MenuTextCentered=MenuTextCentered==1||MenuTextCentered=='center'?'center':MenuTextCentered==0||MenuTextCentered!='right'?'left':'right';
   WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs width: "];

   if(Trigger.onload)Dummy=Trigger.onload;
   if(DomNav&&!Opr)Trigger.addEventListener('load',Go,false);
   else Trigger.onload=Go;

function Dummy(){return}

function CnclSlct(){return false}

function RePos(){
   FrstWinWdth=ExpYes?FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
   FrstWinHght=ExpYes?FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
   ScWinWdth=ExpYes?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
   ScWinHght=ExpYes?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
   if(MenuCentered=='justify'&&FirstLineHorizontal){
      FrstCntnr.style.width=FrstWinWdth;
      ClcJus();
      var P=FrstCntnr.FrstMbr,W=Menu1[5],i;
      for(i=0;i<NoOffFirstLineMenus;i++){P.style.width=W;P=P.PrvMbr}}
   StaticPos=-1;
   if(TargetLoc)ClcTrgt();
   if(MenuCentered)ClcLft();
   if(MenuVerticalCentered)ClcTp();
   PosMenu(FrstCntnr,StartTop,StartLeft)}

function UnLoaded(){
   if(CloseTmr)clearTimeout(CloseTmr);
   Loadd=0; Creatd=0;
   if(HideTop){
      var FCStyle=Nav4?FrstCntnr:FrstCntnr.style;
      FCStyle.visibility=M_Hide}}

function ReDoWhole(){
   if(ScWinWdth!=ScLoc.innerWidth||ScWinHght!=ScLoc.innerHeight||FrstWinWdth!=FrstLoc.innerWidth||FrstWinHght!=FrstLoc.innerHeight)Doc.location.reload()}

function Check(WMnu,N* Ööhm... ja? *f){
   var i,array,ArrayLoc;
   ArrayLoc=parent.frames[0]?parent.frames[FirstLineFrame]:self;
   for(i=0;i<N* Ööhm... ja? *f;i++){
      array=WMnu+eval(i+1);
      if(!ArrayLoc[array]){WbMstrAlrt(0,array); return false}
      if(i==0){   if(!ArrayLoc[array][4]){WbMstrAlrt(1,array); return false}
         if(!ArrayLoc[array][5]){WbMstrAlrt(2,array); return false}}
      if(ArrayLoc[array][3])if(!Check(array+'_',ArrayLoc[array][3])) return false}
   return true}

function WbMstrAlrt(No,Xtra){
   return confirm(WbMstrAlrts[No]+Xtra+'   ')}

function Go(){
   Dummy();
   if(Loadd||!PosStrt)return;
   BeforeStart();
   Creatd=0; Loadd=1;
   status='Building menu';
   if(FrstCreat){
      if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
         FirstLineFrame=SecLineFrame;
         if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
            FirstLineFrame=SecLineFrame=DocTargetFrame;
            if(FirstLineFrame =="" || !parent.frames[FirstLineFrame])FirstLineFrame=SecLineFrame=DocTargetFrame=''}}
      if(SecLineFrame =="" || !parent.frames[SecLineFrame]){
         SecLineFrame=DocTargetFrame;
         if(SecLineFrame =="" || !parent.frames[SecLineFrame])SecLineFrame=DocTargetFrame=FirstLineFrame}
      if(DocTargetFrame =="" || !parent.frames[DocTargetFrame])DocTargetFrame=SecLineFrame;
      if(WebMasterCheck){   if(!Check('Menu',NoOffFirstLineMenus)){status='build aborted';return}}
      FrstLoc=FirstLineFrame!=""?parent.frames[FirstLineFrame]:window;
      ScLoc=SecLineFrame!=""?parent.frames[SecLineFrame]:window;
      DcLoc=DocTargetFrame!=""?parent.frames[DocTargetFrame]:window;
      if (FrstLoc==ScLoc) AcrssFrms=0;
      if (AcrssFrms)FirstLineHorizontal=MenuFramesVertical?0:1;
      FrstWinWdth=ExpYes?FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
      FrstWinHght=ExpYes?FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
      ScWinWdth=ExpYes?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
      ScWinHght=ExpYes?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
      if(Nav4){   CntrTxt=MenuTextCentered!='left'?"<div align='"+MenuTextCentered+"'>":"";
         TxtClose="</font>"+MenuTextCentered!='left'?"</div>":""}}
   FirstColPos=Nav4?FrstLoc.document:FrstLoc.document.body;
   SecColPos=Nav4?ScLoc.document:ScLoc.document.body;
   DocColPos=Nav4?DcLoc.document:ScLoc.document.body;
   if (TakeOverBgColor)FirstColPos.bgColor=AcrssFrms?SecColPos.bgColor:DocColPos.bgColor;
   if(MenuCentered=='justify'&&FirstLineHorizontal)ClcJus();
   if(FrstCreat){
      FrstCntnr=CreateMenuStructure('Menu',NoOffFirstLineMenus);
      FrstCreat=AcrssFrms?0:1}
   else CreateMenuStructureAgain('Menu',NoOffFirstLineMenus);
   if(TargetLoc)ClcTrgt();
   if(MenuCentered)ClcLft();
   if(MenuVerticalCentered)ClcTp();
   PosMenu(FrstCntnr,StartTop,StartLeft);
   IniFlg=1;
   Initiate();
   Creatd=1;
   ScLdAgainWin=ExpYes?ScLoc.document.body:ScLoc;
   ScLdAgainWin.onunload=UnLoaded;
   Trigger.onresize=Nav4?ReDoWhole:RePos;
   AfterBuild();
   if(MenuVerticalCentered=='static'&&!AcrssFrms)setInterval('KeepPos()',250);
   status='Menu ready for use'}

function KeepPos(){
   var TS=ExpYes?FrstLoc.document.body.scrollTop:FrstLoc.pageYOffset;
   if(TS!=StaticPos){
      var FCStyle=Nav4?FrstCntnr:FrstCntnr.style;
      FCStyle.top=FrstCntnr.OrgTop=StartTop+TS;StaticPos=TS}}

function ClcJus(){
   var a=BorderBtwnElmnts?1:2,b=BorderBtwnElmnts?BorderWidth:0;
   var Size=Math.round(((FrstWinWdth-a*BorderWidth)/NoOffFirstLineMenus)-b),i,j;
   for(i=1;i<NoOffFirstLineMenus+1;i++){j=eval('Menu'+i);j[5]=Size}
   StartLeft=0}

function ClcTrgt(){
   var TLoc=Nav4?FrstLoc.document.layers[TargetLoc]:DomYes?FrstLoc.document.getElementById(TargetLoc):FrstLoc.document.all[TargetLoc];
   StartTop=M_StrtTp;
   StartLeft=M_StrtLft;
   if(DomYes){
      while(TLoc){StartTop+=TLoc.offsetTop;StartLeft+=TLoc.offsetLeft;TLoc=TLoc.offsetParent}}
   else{   StartTop+=Nav4?TLoc.pageY:TLoc.offsetTop;StartLeft+=Nav4?TLoc.pageX:TLoc.offsetLeft}}

function ClcLft(){
   if(MenuCentered!='left'&&MenuCentered!='justify'){
      var Size=FrstWinWdth-(!Nav4?parseInt(FrstCntnr.style.width):FrstCntnr.clip.width);
      StartLeft=M_StrtLft;
      StartLeft+=MenuCentered=='right'?Size:Size/2}}

function ClcTp(){
   if(MenuVerticalCentered!='top'&&MenuVerticalCentered!='static'){
      var Size=FrstWinHght-(!Nav4?parseInt(FrstCntnr.style.height):FrstCntnr.clip.height);
      StartTop=M_StrtTp;
      StartTop+=MenuVerticalCentered=='bottom'?Size:Size/2}}

function PosMenu(CntnrPntr,Tp,Lt){
   var Topi,Lefti,Hori;
   var Cntnr=CntnrPntr;
   var Mmbr=Cntnr.FrstMbr;
   var CntnrStyle=!Nav4?Cntnr.style:Cntnr;
   var MmbrStyle=!Nav4?Mmbr.style:Mmbr;
   var PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
   var PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
   var MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
   var MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
   var CntnrWt=!Nav4?parseInt(CntnrStyle.width):CntnrStyle.clip.width;
   var CntnrHt=!Nav4?parseInt(CntnrStyle.height):CntnrStyle.clip.height;
   var SubTp,SubLt;
   RcrsLvl++;
   if (RcrsLvl==1 && AcrssFrms)!MenuFramesVertical?Tp=FrstWinHght-CntnrHt+(Nav4?4:0):Lt=RightToLeft?0:FrstWinWdth-CntnrWt+(Nav4?4:0);
   if (RcrsLvl==2 && AcrssFrms)!MenuFramesVertical?Tp=0:Lt=RightToLeft?ScWinWdth-CntnrWt:0;
   if (RcrsLvl==2 && AcrssFrms){Tp+=VerCorrect;Lt+=HorCorrect}
   CntnrStyle.top=RcrsLvl==1?Tp:0;
   Cntnr.OrgTop=Tp;
   CntnrStyle.left=RcrsLvl==1?Lt:0;
   Cntnr.OrgLeft=Lt;
   if (RcrsLvl==1 && FirstLineHorizontal){
      Hori=1;Lefti=CntnrWt-MmbrWt-2*BorderWidth;Topi=0}
   else{   Hori=Lefti=0;Topi=CntnrHt-MmbrHt-2*BorderWidth}
   while(Mmbr!=null){
      MmbrStyle.left=Lefti+BorderWidth;
      MmbrStyle.top=Topi+BorderWidth;
      if(Nav4)Mmbr.CmdLyr.moveTo(Lefti+BorderWidth,Topi+BorderWidth);
      if(Mmbr.ChildCntnr){
         if(RightToLeft)ChldCntnrWdth=Nav4?Mmbr.ChildCntnr.clip.width:parseInt(Mmbr.ChildCntnr.style.width);
         if(Hori){   SubTp=Topi+MmbrHt+2*BorderWidth;
            SubLt=RightToLeft?Lefti+MmbrWt-ChldCntnrWdth:Lefti}
         else{   SubLt=RightToLeft?Lefti-ChldCntnrWdth+ChildOverlap*MmbrWt+BorderWidth:Lefti+(1-ChildOverlap)*MmbrWt+BorderWidth;
            SubTp=RcrsLvl==1&&AcrssFrms?Topi:Topi+ChildVerticalOverlap*MmbrHt}
         PosMenu(Mmbr.ChildCntnr,SubTp,SubLt)}
      Mmbr=Mmbr.PrvMbr;
      if(Mmbr){   MmbrStyle=!Nav4?Mmbr.style:Mmbr;
         PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
         PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
         MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
         MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
         Hori?Lefti-=BorderBtwnElmnts?(MmbrWt+BorderWidth):(MmbrWt):Topi-=BorderBtwnElmnts?(MmbrHt+BorderWidth):(MmbrHt)}}
   RcrsLvl--}

function Initiate(){
   if(IniFlg){   Init(FrstCntnr);IniFlg=0;
      if(ShwFlg)AfterCloseAll();ShwFlg=0}}

function Init(CntnrPntr){
   var Mmbr=CntnrPntr.FrstMbr;
   var MCStyle=Nav4?CntnrPntr:CntnrPntr.style;
   RcrsLvl++;
   MCStyle.visibility=RcrsLvl==1?M_Show:M_Hide;
   while(Mmbr!=null){
      if(Mmbr.Hilite){Mmbr.Hilite=0;if(KeepHilite)LowItem(Mmbr)}
      if(Mmbr.ChildCntnr) Init(Mmbr.ChildCntnr);
      Mmbr=Mmbr.PrvMbr}
   RcrsLvl--}

function ClearAllChilds(Pntr){
   var CPCCStyle;
   while (Pntr){
      if(Pntr.Hilite){
         Pntr.Hilite=0;
         if(KeepHilite)LowItem(Pntr);
         if(Pntr.ChildCntnr){
            CPCCStyle=Nav4?Pntr.ChildCntnr:Pntr.ChildCntnr.style;
            CPCCStyle.visibility=M_Hide;
            ClearAllChilds(Pntr.ChildCntnr.FrstMbr)}
         break}
      Pntr=Pntr.PrvMbr}}

function GoTo(){
   if(this.LinkTxt){
      status='';
      var HP=Nav4?this.LowLyr:this;
      LowItem(HP);
      this.LinkTxt.indexOf('javascript:')!=-1?eval(this.LinkTxt):DcLoc.location.href=this.LinkTxt}}

function HiliteItem(P){
   if(Nav4){
      if(P.ro)P.document.images[P.rid].src=P.ri2;
      else{   if(P.HiBck)P.bgColor=P.HiBck;
         if(P.value.indexOf('<img')==-1){
            P.document.write(P.Ovalue);
            P.document.close()}}}
   else{   if(P.ro){   var Lc=P.Level==1?FrstLoc:ScLoc;
         Lc.document.images[P.rid].src=P.ri2}
      else{   if(P.HiBck)P.style.backgroundColor=P.HiBck;
         if(P.HiFntClr)P.style.color=P.HiFntClr}}
   P.Hilite=1}

function LowItem(P){
   if(P.ro){   if(Nav4)P.document.images[P.rid].src=P.ri1;
      else{   var Lc=P.Level==1?FrstLoc:ScLoc;
         Lc.document.images[P.rid].src=P.ri1}}
   else{   if(Nav4){   if(P.LoBck)P.bgColor=P.LoBck;
         if(P.value.indexOf('<img')==-1){
            P.document.write(P.value);
            P.document.close()}}
      else{   if(P.LoBck)P.style.backgroundColor=P.LoBck;
         if(P.LwFntClr)P.style.color=P.LwFntClr}}}

function OpenMenu(){   
   if(!Loadd||!Creatd) return;
   var TpScrlld=ExpYes?ScLoc.document.body.scrollTop:ScLoc.pageYOffset;
   var LScrlld=ExpYes?ScLoc.document.body.scrollLeft:ScLoc.pageXOffset;
   var CCnt=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr;
   var ThisHt=Nav4?this.clip.height:parseInt(this.style.height);
   var ThisWt=Nav4?this.clip.width:parseInt(this.style.width);
   var ThisLft=AcrssFrms&&this.Level==1&&!FirstLineHorizontal?0:Nav4?this.Container.left:parseInt(this.Container.style.left);
   var ThisTp=AcrssFrms&&this.Level==1&&FirstLineHorizontal?0:Nav4?this.Container.top:parseInt(this.Container.style.top);
   var HP=Nav4?this.LowLyr:this;
   CurrntOvr=this;
   IniFlg=0;
   ClearAllChilds(this.Container.FrstMbr);
   HiliteItem(HP);
   if(CCnt!=null){
      if(!ShwFlg){ShwFlg=1;   BeforeFirstOpen()}
      var CCW=Nav4?this.LowLyr.ChildCntnr.clip.width:parseInt(this.ChildCntnr.style.width);
      var CCH=Nav4?this.LowLyr.ChildCntnr.clip.height:parseInt(this.ChildCntnr.style.height);
      var ChCntTL=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr.style;
      var SubLt=AcrssFrms&&this.Level==1?CCnt.OrgLeft+ThisLft+LScrlld:CCnt.OrgLeft+ThisLft;
      var SubTp=AcrssFrms&&this.Level==1?CCnt.OrgTop+ThisTp+TpScrlld:CCnt.OrgTop+ThisTp;
      if(MenuWrap){
         if(RightToLeft){
            if(SubLt<LScrlld)SubLt=this.Level==1?LScrlld:SubLt+(CCW+(1-2*ChildOverlap)*ThisWt);
            if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=ScWinWdth+LScrlld-CCW}
         else{   if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=this.Level==1?ScWinWdth+LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap)*ThisWt);
            if(SubLt<LScrlld)SubLt=LScrlld}
         if(SubTp+CCH>TpScrlld+ScWinHght)SubTp=this.Level==1?SubTp=TpScrlld+ScWinHght-CCH:SubTp-CCH+(1-2*ChildVerticalOverlap)*ThisHt;
         if(SubTp<TpScrlld)SubTp=TpScrlld}
      ChCntTL.top=SubTp;ChCntTL.left=SubLt;ChCntTL.visibility=M_Show}
   status=this.LinkTxt}

function OpenMenuClick(){
   if(!Loadd||!Creatd) return;
   var HP=Nav4?this.LowLyr:this;
   CurrntOvr=this;
   IniFlg=0;
   ClearAllChilds(this.Container.FrstMbr);
   HiliteItem(HP);
   status=this.LinkTxt}

function CloseMenu(){
   if(!Loadd||!Creatd) return;
   if(!KeepHilite){
      var HP=Nav4?this.LowLyr:this;
      LowItem(HP)}
   status='';
   if(this==CurrntOvr){
      IniFlg=1;
      if(CloseTmr)clearTimeout(CloseTmr);
      CloseTmr=setTimeout('Initiate(CurrntOvr)',DissapearDelay)}}

function CntnrSetUp(Wdth,Hght,NoOff){
   var x=RcrsLvl==1?BorderColor:BorderSubColor;
   this.FrstMbr=null;
   this.OrgLeft=this.OrgTop=0;
   if(x)this.bgColor=x;
   if(Nav4){   this.visibility='hide';
      this.resizeTo(Wdth,Hght)}
   else{   if(x)this.style.backgroundColor=x;
      this.style.width=Wdth;
      this.style.height=Hght;
      this.style.fontFamily=FontFamily;
      this.style.fontWeight=FontBold?'bold':'normal';
      this.style.fontStyle=FontItalic?'italic':'normal';
      this.style.fontSize=FontSize+'pt';
      this.style.zIndex=RcrsLvl+Ztop}}

function MbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
   var Location=RcrsLvl==1?FrstLoc:ScLoc;
   var MemVal=eval(WhatMenu+'[0]');
   var t,T,L,W,H,S;
   var a,b,c,d;
   this.PrvMbr=PrMmbr;
   this.Level=RcrsLvl;
   this.LinkTxt=eval(WhatMenu+'[1]');
   this.Container=MmbrCntnr;
   this.ChildCntnr=null;
   this.Hilite=0;
   this.style.overflow='hidden';
   this.style.cursor=ExpYes&&(this.LinkTxt||(RcrsLvl==1&&UnfoldsOnClick))?'hand':'default';
   this.ro=0;
   if(MemVal.indexOf('rollover')!=-1){
      this.ro=1;
      this.ri1=MemVal.substring(MemVal.indexOf(':')+1,MemVal.lastIndexOf(':'));
      this.ri2=MemVal.substring(MemVal.lastIndexOf(':')+1,MemVal.length);
      this.rid=WhatMenu+'i';MemVal="<img src='"+this.ri1+"' name='"+this.rid+"'>"}
   this.value=MemVal;
   if(RcrsLvl==1){
      a=LowBgColor;
      b=HighBgColor;
      c=FontLowColor;
      d=FontHighColor}
   else{   a=LowSubBgColor;
      b=HighSubBgColor;
      c=FontSubLowColor;
      d=FontSubHighColor}
   this.LoBck=a;
   this.LwFntClr=c;
   this.HiBck=b;
   this.HiFntClr=d;
   this.style.color=this.LwFntClr;
   if(this.LoBck)this.style.backgroundColor=this.LoBck;
   this.style.textAlign=MenuTextCentered;
   if(eval(WhatMenu+'[2]'))this.style.backgroundImage="url(\'"+eval(WhatMenu+'[2]')+"\')";
   if(MemVal.indexOf('<')==-1){
      this.style.width=Wdth-LftXtra;
      this.style.height=Hght-TpXtra;
      this.style.paddingLeft=LeftPaddng;
      this.style.paddingTop=TopPaddng}
   else{   this.style.width=Wdth;
      this.style.height=Hght}
   if(MemVal.indexOf('<')==-1&&DomYes){
      t=Location.document.createTextNode(MemVal);
      this.appendChild(t)}
   else this.innerHTML=MemVal;
   if(eval(WhatMenu+'[3]')&&ShowArrow){
      a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6:0;
      S=Arrws[a];
      W=Arrws[a+1];
      H=Arrws[a+2];
      T=RcrsLvl==1&&FirstLineHorizontal?Hght-H-2:(Hght-H)/2;
      L=RightToLeft?2:Wdth-W-2;
      if(DomYes){
         t=Location.document.createElement('img');
         this.appendChild(t);
         t.style.position='absolute';
         t.src=S;
         t.style.width=W;
         t.style.height=H;
         t.style.top=T;
         t.style.left=L}
      else{   MemVal+="<div style='position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit'><img src='"+S+"'></div>";
         this.innerHTML=MemVal}}
   if(ExpYes){this.onselectstart=CnclSlct;
      this.onmouseover=RcrsLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
      this.onmouseout=CloseMenu;
      this.onclick=RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?OpenMenu:GoTo   }
   else{   RcrsLvl==1&&UnfoldsOnClick?this.addEventListener('mouseover',OpenMenuClick,false):this.addEventListener('mouseover',OpenMenu,false);
      this.addEventListener('mouseout',CloseMenu,false);
      RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?this.addEventListener('click',OpenMenu,false):this.addEventListener('click',GoTo,false)}}

function NavMbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
   var a,b,c,d;
   if(RcrsLvl==1){
      a=LowBgColor;
      b=HighBgColor;
      c=FontLowColor;
      d=FontHighColor}
   else {   a=LowSubBgColor;
      b=HighSubBgColor;
      c=FontSubLowColor;
      d=FontSubHighColor   }
   this.value=eval(WhatMenu+'[0]');
   this.ro=0;
   if(this.value.indexOf('rollover')!=-1){
      this.ro=1;
      this.ri1=this.value.substring(this.value.indexOf(':')+1,this.value.lastIndexOf(':'));
      this.ri2=this.value.substring(this.value.lastIndexOf(':')+1,this.value.length);
      this.rid=WhatMenu+'i';this.value="<img src='"+this.ri1+"' name='"+this.rid+"'>"}
   if(LeftPaddng&&this.value.indexOf('<')==-1&&MenuTextCentered=='left')this.value='&nbsp\;'+this.value;
   if(FontBold)this.value=this.value.bold();
   if(FontItalic)this.value=this.value.italics();
   this.Ovalue=this.value;
   this.value=this.value.fontcolor(c);
   this.Ovalue=this.Ovalue.fontcolor(d);
   this.value=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.value+TxtClose;
   this.Ovalue=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.Ovalue+TxtClose;
   this.LoBck=a;
   this.HiBck=b;
   this.ChildCntnr=null;
   this.PrvMbr=PrMmbr;
   this.Hilite=0;
   this.visibility='inherit';
   if(this.LoBck)this.bgColor=this.LoBck;
   this.resizeTo(Wdth,Hght);
   if(!AcrssFrms&&eval(WhatMenu+'[2]'))this.background.src=eval(WhatMenu+'[2]');
   this.document.write(this.value);
   this.document.close();
   this.CmdLyr=new Layer(Wdth,MmbrCntnr);
   this.CmdLyr.Level=RcrsLvl;
   this.CmdLyr.LinkTxt=eval(WhatMenu+'[1]');
   this.CmdLyr.visibility='inherit';
   this.CmdLyr.onmouseover=RcrsLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
   this.CmdLyr.onmouseout=CloseMenu;
   this.CmdLyr.captureEvents(Event.MOUSEUP);
   this.CmdLyr.onmouseup=RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?OpenMenu:GoTo;
   this.CmdLyr.LowLyr=this;
   this.CmdLyr.resizeTo(Wdth,Hght);
   this.CmdLyr.Container=MmbrCntnr;
   if(eval(WhatMenu+'[3]')&&ShowArrow){
      a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6:0;
      this.CmdLyr.ImgLyr=new Layer(Arrws[a+1],this.CmdLyr);
      this.CmdLyr.ImgLyr.visibility='inherit';
      this.CmdLyr.ImgLyr.top=RcrsLvl==1&&FirstLineHorizontal?Hght-Arrws[a+2]-2:(Hght-Arrws[a+2])/2;
      this.CmdLyr.ImgLyr.left=RightToLeft?2:Wdth-Arrws[a+1]-2;
      this.CmdLyr.ImgLyr.width=Arrws[a+1];
      this.CmdLyr.ImgLyr.height=Arrws[a+2];
      ImgStr="<img src='"+Arrws[a]+"' width='"+Arrws[a+1]+"' height='"+Arrws[a+2]+"'>";
      this.CmdLyr.ImgLyr.document.write(ImgStr);
      this.CmdLyr.ImgLyr.document.close()}}

function CreateMenuStructure(MName,NumberOf){
   RcrsLvl++;
   var i,NoOffSubs,Mbr,Wdth=0,Hght=0;
   var PrvMmbr=null;
   var WMnu=MName+'1';
   var MenuWidth=eval(WMnu+'[5]');
   var MenuHeight=eval(WMnu+'[4]');
   var Location=RcrsLvl==1?FrstLoc:ScLoc;
   if (RcrsLvl==1&&FirstLineHorizontal){
      for(i=1;i<NumberOf+1;i++){
         WMnu=MName+eval(i);
         Wdth=eval(WMnu+'[5]')?Wdth+eval(WMnu+'[5]'):Wdth+MenuWidth}
      Wdth=BorderBtwnElmnts?Wdth+(NumberOf+1)*BorderWidth:Wdth+2*BorderWidth;Hght=MenuHeight+2*BorderWidth}
   else{   for(i=1;i<NumberOf+1;i++){
         WMnu=MName+eval(i);
         Hght=eval(WMnu+'[4]')?Hght+eval(WMnu+'[4]'):Hght+MenuHeight}
      Hght=BorderBtwnElmnts?Hght+(NumberOf+1)*BorderWidth:Hght+2*BorderWidth;Wdth=MenuWidth+2*BorderWidth}
   if(DomYes){
      var MmbrCntnr=Location.document.createElement("div");
      MmbrCntnr.style.position='absolute';
      MmbrCntnr.style.visibility='hidden';
      Location.document.body.appendChild(MmbrCntnr)}
   else{   if(Nav4) var MmbrCntnr=new Layer(Wdth,Location)
      else{   WMnu+='c';
         Location.document.body.insertAdjacentHTML("AfterBegin","<div id='"+WMnu+"' style='visibility:hidden; position:absolute;'><\/div>");
         var MmbrCntnr=Location.document.all[WMnu]}}
   MmbrCntnr.SetUp=CntnrSetUp;
   MmbrCntnr.SetUp(Wdth,Hght,NumberOf);
   if(Exp4){   MmbrCntnr.InnerString='';
      for(i=1;i<NumberOf+1;i++){
         WMnu=MName+eval(i);
         MmbrCntnr.InnerString+="<div id='"+WMnu+"' style='position:absolute;'><\/div>"}
      MmbrCntnr.innerHTML=MmbrCntnr.InnerString}
   for(i=1;i<NumberOf+1;i++){
      WMnu=MName+eval(i);
      NoOffSubs=eval(WMnu+'[3]');
      Wdth=RcrsLvl==1&&FirstLineHorizontal?eval(WMnu+'[5]')?eval(WMnu+'[5]'):MenuWidth:MenuWidth;
      Hght=RcrsLvl==1&&FirstLineHorizontal?MenuHeight:eval(WMnu+'[4]')?eval(WMnu+'[4]'):MenuHeight;
      if(DomYes){
         Mbr=Location.document.createElement("div");
         Mbr.style.position='absolute';
         Mbr.style.visibility='inherit';
         MmbrCntnr.appendChild(Mbr)}
      else Mbr=Nav4?new Layer(Wdth,MmbrCntnr):Location.document.all[WMnu];
      Mbr.SetUp=Nav4?NavMbrSetUp:MbrSetUp;
      Mbr.SetUp(MmbrCntnr,PrvMmbr,WMnu,Wdth,Hght);
      if(NoOffSubs) Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
      PrvMmbr=Mbr}
   MmbrCntnr.FrstMbr=Mbr;
   RcrsLvl--;
   return(MmbrCntnr)}

function CreateMenuStructureAgain(MName,NumberOf){
   var i,WMnu,NoOffSubs,PrvMmbr,Mbr=FrstCntnr.FrstMbr;
   RcrsLvl++;
   for(i=NumberOf;i>0;i--){
      WMnu=MName+eval(i);
      NoOffSubs=eval(WMnu+'[3]');
      PrvMmbr=Mbr;
      if(NoOffSubs)Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
      Mbr=Mbr.PrvMbr}
   RcrsLvl--}



Zuletzt bearbeitet von chrisnrw am Di 21.06.2005 15:44, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
mizkA

Dabei seit: 07.11.2003
Ort: Saarbrücken
Alter: 42
Geschlecht: Weiblich
Verfasst Di 21.06.2005 15:42
Titel

Antworten mit Zitat Zum Seitenanfang

Wasn das bidde fürn abgefahrenes Script für so ne olle Aufklappnavi Au weia! Au weia! Au weia!
  View user's profile Private Nachricht senden
chrisnrw
Threadersteller

Dabei seit: 20.08.2004
Ort: Essen
Alter: 38
Geschlecht: Männlich
Verfasst Di 21.06.2005 15:47
Titel

Antworten mit Zitat Zum Seitenanfang

@mizka: Das frage ich mich mittlerweile auch..es kann ja wohl nicht so ein Aufwand sein so ein Aufklappmenü zu erstellen...

edit:

Hier sind die zwei js-dateien nochmal gepackt, falls es sich jemand mal angucken möchte:

Aufklapp-Navi


Zuletzt bearbeitet von chrisnrw am Di 21.06.2005 15:50, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen [javascript] mit <select> feld wert an javascript funk
Javascript Uhr
ist das javascript ?
Javascript im XML
javascript im javascript?!
Javascript
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.