Danny_TB: Probleme mit Navigationsmenü

Beitrag lesen

Hallo

ich arbeite zur Zeit an einem Projekt. Unter der Adresse www.haus-margarete-aachen.de könnt ihr es zum besseren Verständnis einsehen. Nun zum Problem:

Ich habe ein Navigationsmenü in die Site eingebaut. Da ich mich mit Javascript nicht so gut auskenne habe ich den freien Quellcode von einer Site übernommen und an meine Bedürfnisse angepasst.

Nur am Rande:

Ich weiss das das nicht besonders elegant ist, ich wußte mir halt nicht anders zu helfen, außerdem wurde ausdrücklich darauf hingewiesen das man ihn für sich selbst nutzen darf.

Zurück zum Problem:

Wenn man auf den obersten Menüpunkt "unser haus" klickt klappt das menü auf. Klickt man nun die unterpunkte an wird die entsprechende site geladen, das menü wird aber wieder zugeklappt. Ist auch klar weil ich keine frames verwendet habe und die site komplett neu geladen wird.

Gibt es eine Art Parameterübernahme mit der ich der zu ladenen Site sagen kann das Sie das Menü aufgeklappt halten soll ?

Hier der Menü-Quellcode:

var stayFolded=false
var exImg=new Image(); exImg.src='../common/logos/dsmh.gif'
var unImg=new Image(); unImg.src='../common/logos/usm.gif'
var n = (document.layers) ? 1:0;
var ie = (document.all) ? 1:0;
var browser=((n || ie) && parseInt(navigator.appVersion)>=4)

function makeMenu(obj,nest){
        nest=(!nest) ? '':'document.'+nest+'.'
        this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style')
           this.ref=(n) ? eval(nest+'document.'+obj+'.document'):eval('document');
        this.height=n?this.ref.height:eval(obj+'.offsetHeight')
        this.x=(n)? this.css.left:this.css.pixelLeft;this.y=(n)? this.css.top:this.css.pixelTop;
        this.hideIt=b_hideIt;        this.showIt=b_showIt; this.vis=b_vis; this.moveIt=b_moveIt
        return this
}
function b_showIt(){this.css.visibility="visible"}
function b_hideIt(){this.css.visibility="hidden"}
function b_vis(){if(this.css.visibility=="hidden" || this.css.visibility=="hide") return true;}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}

function init(){
        oTop=new Array()
        oTop[0]=new makeMenu('divTop1','divCont')
        oTop[1]=new makeMenu('divTop2','divCont')
        oTop[2]=new makeMenu('divTop3','divCont')
        oTop[3]=new makeMenu('divTop4','divCont')
        oTop[4]=new makeMenu('divTop5','divCont')
        oTop[5]=new makeMenu('divTop6','divCont')
        oSub=new Array()
        oSub[0]=new makeMenu('divSub1','divCont.document.divTop1')
        oSub[1]=new makeMenu('divSub2','divCont.document.divTop2')
        oSub[2]=new makeMenu('divSub3','divCont.document.divTop3')
        oSub[3]=new makeMenu('divSub4','divCont.document.divTop4')
        oSub[4]=new makeMenu('divSub5','divCont.document.divTop5')
        oSub[5]=new makeMenu('divSub6','divCont.document.divTop6')
        for(i=0;i<oSub.length;i++){ oSub[i].hideIt() }
        for(i=1;i<oTop.length;i++){ oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height) }
}
function menu(num){
        if(browser){
                if(!stayFolded){
                        for(i=0;i<oSub.length;i++){
                                if(i!=num){
                                        oSub[i].hideIt()
                                        oTop[i].ref["imgA"+i].src=unImg.src
                                }
                        }
                        for(i=1;i<oTop.length;i++){
                                oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height)
                        }
                }
                if(oSub[num].vis()){
                        oSub[num].showIt()
                        oTop[num].ref["imgA"+num].src=exImg.src
                }else{
                        oSub[num].hideIt()
                        oTop[num].ref["imgA"+num].src=unImg.src
                }
                for(i=1;i<oTop.length;i++){
                        if(!oSub[i-1].vis()) oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height+oSub[i-1].height)
                        else oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height)
                }
        }
}

P.S.

Bitte zum Betrachten IE5 1024x768 und Java aktivieren. Und bitte noch keine Kritik was ihr so toll oder schlecht an der site findet Wie zu erkennen ist befindet sich die site im aufbau und wird in naher zukunft für div. browser und auflösungen zusätzlich optimiert.

Danke

Gruß
Daniel