Avatar billede redfox Nybegynder
13. august 2000 - 18:22 Der er 26 kommentarer og
1 løsning

Simpel menu!

OK, listen up:

Jeg vil have en menu som har div. punkter:

Punkt1
Punkt2
etc.

Når man trykker på Punkt1 kommer:

Punkt1
-Under1
-Under2
-Under3
Punkt2
etc.

Hvis man så bagefter trykker på Punkt2:

Punkt1
-Under1
-Under2
-Under3
Punkt2
-Under1
-Under2
etc.

Når man trykker på et punkt der er åbnet lukker det sig.
Jeg ved at der findes en million af disse scripts, men forskellen på mit og de andres er at mit skal være simpelt! Ren tekst, ikke for meget kode. Det er perfekt hvis hvert overpunkt får lov til at ligge i hver deres felt i en tabel.
Derudover skal det helst virke i begge browsere (IE første prioritet).

/redfox
Avatar billede steven Nybegynder
13. august 2000 - 18:30 #1
Du kan finde det du søger på:
www.dansteinman.com

eller

www.bratta.com

/Steven
Avatar billede redfox Nybegynder
13. august 2000 - 18:31 #2
AAAARRG!!!!

JEG VIL HAVE ET SCRIPT, IKKE ET LINK! KEGLE!
Avatar billede steven Nybegynder
13. august 2000 - 18:31 #3
Begge personer skriver scripts der virker til begge browsere

/Steven
Avatar billede steven Nybegynder
13. august 2000 - 18:32 #4
Det skrev du intet om!

/Steven
Avatar billede redfox Nybegynder
13. august 2000 - 18:33 #5
Fair nok: Jeg vil gerne have det hele serveret...
Avatar billede steven Nybegynder
13. august 2000 - 18:35 #6
Nedenstående er taget direkte fra www.bratta.com

tag det eller lad være!

/Steven

*******************************************

<html>
<head>
    <title>Cross-browser Dynamic HTML Scripts - Foldoutmenu3</title>
<style type=\"text/css\">

</style>
<script type=\"text/javascript\" language=\"JavaScript\">
/********************************************************************************
Copyright (C) 1999 Thomas Brattli
This script is made by and copyrighted to Thomas Brattli at www.bratta.com
Visit for more great scripts. This may be used freely as long as this msg is intact!
I will also appriciate any links you could give me.
********************************************************************************/
//Default browsercheck, added to all scripts!
function checkBrowser(){
    this.ver=navigator.appVersion
    this.dom=document.getElementById?1:0
    this.ie5=(this.ver.indexOf(\"MSIE 5\")>-1 && this.dom)?1:0;
    this.ie4=(document.all && !this.dom)?1:0;
    this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
    return this
}
bw=new checkBrowser()
/************************************************************************************
Making cross-browser objects
************************************************************************************/
function makeMenuObj(obj,nest,img,offimage,onimage){
    nest=(!nest) ? \'\':\'document.\'+nest+\'.\'                                       
      this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\"document.layers.\" +obj):0;       
    this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+\'document.\'+obj):0;   
    this.ref=bw.dom || bw.ie4? document:bw.ns4?this.css.document:0;       
    this.x=(bw.ns4 || bw.ns5)? this.css.left:this.css.offsetLeft;
    this.y=(bw.ns4 || bw.ns5)? this.css.top:this.css.offsetTop;       
    this.height=bw.ns4?this.ref.height:this.el.offsetHeight;       
    this.hideIt=b_hideIt; this.showIt=b_showIt; this.movey=b_movey
    this.status=0;   
    this.swap=b_swap
    if(onimage)this.onimage=onimage.src
    this.offimage=offimage
    if(img)this.img=this.ref.images[img]
    return this
}
function b_showIt(){this.css.visibility=\"visible\"; this.status=1}
function b_hideIt(){this.css.visibility=\"hidden\"; this.status=0}
function b_movey(y){this.y=y; this.css.top=this.y}   
function b_swap(on){
    if(this.onimage && on){   
        this.img.src=this.onimage
    }else if(this.onimage && !on){
        this.img.src=this.offimage
    }
}

/********************************************************************************
Making menuobjects
********************************************************************************/
function foldoutMenuObj(name){
    this.menus=new Array()
    this.name=name;
    this.makeStyle=fold_style
    this.make=fold_make
    this.construct=fold_construct
    this.fold=fold
    this.foldstay=fold_stay
    this.foldsub=fold_sub
    this.foldsubstay=fold_sub_stay
    this.foldsub2=fold_sub2
    this.foldsub2stay=fold_sub2_stay
    this.foldsub3=fold_sub3
    this.foldsub3stay=fold_sub3_stay
    this.foldsub4=fold_sub4
    this.foldsub4stay=fold_sub4_stay
    this.placeAll=fold_placeAll;
    this.menus=new Array()
    this.a=0; this.b; this.c; this.d; this.e; this.f
    this.initexec=\'\'
    this.opn=fold_opn;
}


/********************************************************************************
Initiating page, making objects..
********************************************************************************/
function fold_construct(){
    this.container=new makeMenuObj(\'div\'+this.name+\'Cont\')
    this.menu=new Array()
    menuheight=0;
    for(i=0;i<this.menus.length;i++){
        this.menu[i]=new makeMenuObj(\'div\'+this.name+i,\'div\'+this.name+\'Cont\',this.menus[i].img,this.menus[i].offimage,this.menus[i].onimage)
        this.menu[i].subs=this.menus[i].subs
        this.menu[i].sub=new Array()
        for(j=0;j<this.menu[i].subs;j++){
            this.menu[i].sub[j]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j,\'div\'+this.name+\'Cont\',this.menus[i][j].img,this.menus[i][j].offimage,this.menus[i][j].onimage)
            this.menu[i].sub[j].subs=this.menus[i][j].subs
            this.menu[i].sub[j].sub=new Array()
            for(a=0;a<this.menu[i].sub[j].subs;a++){
                this.menu[i].sub[j].sub[a]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j+\"_\"+a,\'div\'+this.name+\'Cont\',this.menus[i][j][a].img,this.menus[i][j][a].offimage,this.menus[i][j][a].onimage)
                this.menu[i].sub[j].sub[a].subs=this.menus[i][j][a].subs
                this.menu[i].sub[j].sub[a].sub=new Array()
                for(o=0;o<this.menu[i].sub[j].sub[a].subs;o++){
                    this.menu[i].sub[j].sub[a].sub[o]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j+\"_\"+a+\"_\"+o,\'div\'+this.name+\'Cont\',this.menus[i][j][a][o].img,this.menus[i][j][a][o].offimage,this.menus[i][j][a][o].onimage)
                    this.menu[i].sub[j].sub[a].sub[o].subs=this.menus[i][j][a][o].subs
                    this.menu[i].sub[j].sub[a].sub[o].sub=new Array()
                    for(p=0;p<this.menu[i].sub[j].sub[a].sub[o].subs;p++){
                        this.menu[i].sub[j].sub[a].sub[o].sub[p]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j+\"_\"+a+\"_\"+o+\"_\"+p,\'div\'+this.name+\'Cont\',this.menus[i][j][a][o][p].img,this.menus[i][j][a][o][p].offimage,this.menus[i][j][a][o][p].onimage)
                        this.menu[i].sub[j].sub[a].sub[o].sub[p].subs=this.menus[i][j][a][o][p].subs
                        this.menu[i].sub[j].sub[a].sub[o].sub[p].sub=new Array()
                        for(z=0;z<this.menu[i].sub[j].sub[a].sub[o].sub[p].subs;z++){
                            this.menu[i].sub[j].sub[a].sub[o].sub[p].sub[z]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j+\"_\"+a+\"_\"+o+\"_\"+p+\"_\"+z,\'div\'+this.name+\'Cont\')
                        }
                    }
                }
            }
        }
    }
    this.menus=\"\"
    if(this.initexec) eval(this.initexec)
    else this.placeAll()
    this.container.showIt()
}
function fold_opn(a,b,c,d,e,f){
    if(a>-1) this.initexec+=\"this.fold(\"+a+\",\"+this.substay+\");\"
    if(b>-1) this.initexec+=\"this.foldsub(\"+a+\",\"+b+\",\"+this.sub2stay+\");\"
    if(c>-1) this.initexec+=\"this.foldsub2(\"+a+\",\"+b+\",\"+c+\",\"+this.sub3stay+\");\"
    if(d>-1) this.initexec+=\"this.foldsub3(\"+a+\",\"+b+\",\"+c+\",\"+d+\",\"+this.sub4stay+\");\"
    if(e>-1) this.initexec+=\"this.foldsub4(\"+a+\",\"+b+\",\"+c+\",\"+d+\",\"+e+\",\"+this.sub5stay+\");\"
    if(f>-1) this.initexec+=\"this.foldsub5(\"+a+\",\"+b+\",\"+c+\",\"+d+\",\"+e+\",\"+f+\",\"+this.sub6stay+\");\"
}
/********************************************************************************
The first sub menus
********************************************************************************/
function fold_stay(a){
    for(z=0;z<this.menu.length;z++){
        if(z!=a) this.fold(z,1,1)
    }
    this.fold(a,1,0)
}
function fold(a,fromtop,noplace){   
    if(fromtop){
        for(b=0;b<this.menu[a].subs;b++){
            if(this.menu[a].sub[b].status || noplace){
                this.menu[a].sub[b].hideIt()
                this.menu[a].swap(0)
                this.foldsub(a,b,1,1)
            }else{
                this.menu[a].sub[b].showIt()
                this.menu[a].swap(1)
            }
        }
        if(!noplace) this.placeAll()
    }else this.foldstay(a)
}
/********************************************************************************
The second sub level menus
********************************************************************************/
function fold_sub_stay(a,b){
    for(z=0;z<this.menu[a].subs;z++){
        if(b!=z) this.foldsub(a,z,1,1)
    }
    this.foldsub(a,b,1,0)
}
function fold_sub(a,b,fromtop,noplace){   
    if(fromtop){
        for(c=0;c<this.menu[a].sub[b].subs;c++){
            if(this.menu[a].sub[b].sub[c].status || noplace){
                this.menu[a].sub[b].sub[c].hideIt()
                this.menu[a].sub[b].swap(0)
                this.foldsub2(a,b,c,1,1)
            }else{
                this.menu[a].sub[b].sub[c].showIt()
                this.menu[a].sub[b].swap(1)
            }
        }
        if(!noplace) this.placeAll()
    }else this.foldsubstay(a,b)
}
/********************************************************************************
The third sub level menus
********************************************************************************/
function fold_sub2_stay(a,b,c){
    for(z=0;z<this.menu[a].sub[b].subs;z++){
        if(c!=z) this.foldsub2(a,b,z,1,1)
    }
    this.foldsub2(a,b,c,1,0)
}
function fold_sub2(a,b,c,fromtop,noplace){
    if(fromtop){
        for(d=0;d<this.menu[a].sub[b].sub[c].subs;d++){
            if(this.menu[a].sub[b].sub[c].sub[d].status || noplace){
                this.menu[a].sub[b].sub[c].sub[d].hideIt()
                this.menu[a].sub[b].sub[c].swap(0)
                this.foldsub3(a,b,c,d,1,1)
            }else{
                this.menu[a].sub[b].sub[c].sub[d].showIt()
                this.menu[a].sub[b].sub[c].swap(1)
            }
        }
        if(!noplace) this.placeAll()
    }else this.foldsub2stay(a,b,c)
}
/********************************************************************************
The fourth sub level menus
********************************************************************************/
function fold_sub3_stay(a,b,c,d){
    for(z=0;z<this.menu[a].sub[b].sub[c].subs;z++){
        if(z!=d) this.foldsub3(a,b,c,z,1,1)
    }
    this.foldsub3(a,b,c,d,1,0)
}
function fold_sub3(a,b,c,d,fromtop,noplace){
    if(fromtop){
        for(e=0;e<this.menu[a].sub[b].sub[c].sub[d].subs;e++){
            if(this.menu[a].sub[b].sub[c].sub[d].sub[e].status || noplace){
                this.menu[a].sub[b].sub[c].sub[d].sub[e].hideIt()
                this.menu[a].sub[b].sub[c].sub[d].swap(0)
                this.foldsub4(a,b,c,d,e,1,1)
            }else{
                this.menu[a].sub[b].sub[c].sub[d].sub[e].showIt()
                this.menu[a].sub[b].sub[c].sub[d].swap(1)   
            }   
        }
        if(!noplace) this.placeAll()
    }else this.foldsub3stay(a,b,c,d)
}
/********************************************************************************
The fifth sub level menus
********************************************************************************/
function fold_sub4_stay(a,b,c,d,e){
    for(z=0;z<this.menu[a].sub[b].sub[c].sub[d].subs;z++){
        if(z!=e) this.foldsub4(a,b,c,d,z,1,1)
    }
    this.foldsub4(a,b,c,d,e,1,0)
}
function fold_sub4(a,b,c,d,e,fromtop,noplace){
    if(fromtop){
        for(f=0;f<this.menu[a].sub[b].sub[c].sub[d].sub[e].subs;f++){
            if(this.menu[a].sub[b].sub[c].sub[d].sub[e].sub[f].status || noplace){
                this.menu[a].sub[b].sub[c].sub[d].sub[e].sub[f].hideIt()
                this.menu[a].sub[b].sub[c].sub[d].sub[e].swap(0)
            }else{
                this.menu[a].sub[b].sub[c].sub[d].sub[e].sub[f].showIt()
                this.menu[a].sub[b].sub[c].sub[d].sub[e].swap(1)
            }
        }
        if(!noplace) this.placeAll()
    }else this.foldsub4stay(a,b,c,d,e)
}
/********************************************************************************
Placing all layers correctly
********************************************************************************/
function fold_placeAll(){
    menuheight=0;
    for(i=0;i<this.menu.length;i++){
        this.menu[i].movey(menuheight)
        menuheight+=this.menu[i].height+this.menubetween
        for(j=0;j<this.menu[i].subs;j++){
            this.menu[i].sub[j].movey(menuheight)
            if(this.menu[i].sub[j].status) menuheight+=this.menu[i].sub[j].height+this.menubetween
            for(a=0;a<this.menu[i].sub[j].subs;a++){
                this.menu[i].sub[j].sub[a].movey(menuheight)
                if(this.menu[i].sub[j].sub[a].status) menuheight+=this.menu[i].sub[j].sub[a].height+this.menubetween
                for(o=0;o<this.menu[i].sub[j].sub[a].subs;o++){
                    this.menu[i].sub[j].sub[a].sub[o].movey(menuheight)
                    if(this.menu[i].sub[j].sub[a].sub[o].status) menuheight+=this.menu[i].sub[j].sub[a].sub[o].height+this.menubetween
                    for(p=0;p<this.menu[i].sub[j].sub[a].sub[o].subs;p++){
                        this.menu[i].sub[j].sub[a].sub[o].sub[p].movey(menuheight)
                        if(this.menu[i].sub[j].sub[a].sub[o].sub[p].status) menuheight+=this.menu[i].sub[j].sub[a].sub[o].sub[p].height+this.menubetween
                        for(z=0;z<this.menu[i].sub[j].sub[a].sub[o].sub[p].subs;z++){
                            this.menu[i].sub[j].sub[a].sub[o].sub[p].sub[z].movey(menuheight)
                            if(this.menu[i].sub[j].sub[a].sub[o].sub[p].sub[z].status) menuheight+=this.menu[i].sub[j].sub[a].sub[o].sub[p].sub[z].height+this.menubetween
                        }
                    }
                }
            }
        }
    }
}

/********************************************************************************
Functions to write out the layers...Should be moved server-side
********************************************************************************/

function fold_style(){
    str=\'\\n<style type=\"text/css\">\\n\'
    str+=\'\\tDIV.cl\'+this.name+\'{position:absolute; \'+ this.clFold +\'; width:\'+this.width+\'; height:20}\\n\'
    str+=\'\\tDIV.cl\'+this.name+\'Sub{position:absolute; \'+ this.clSub +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
    str+=\'\\tDIV.cl\'+this.name+\'Sub2{position:absolute; \'+ this.clSub2 +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
    str+=\'\\tDIV.cl\'+this.name+\'Sub3{position:absolute; \'+ this.clSub3 +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
    str+=\'\\tDIV.cl\'+this.name+\'Sub4{position:absolute; \'+ this.clSub4 +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
    str+=\'\\tDIV.cl\'+this.name+\'Sub5{position:absolute; \'+ this.clSub5 +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
    str+=\'\\t#div\'+this.name+\'Cont{\'+this.clCont+\'; left:\'+this.left+\'; top:\'+this.top+\'; height:\'+this.maxheight+\'; width:\'+this.width+\'; visibility:hidden}\\n\'
    str+=\'\\tA.cl\'+this.name+\'Links{\'+this.clFoldLinks+\'}\\n\'
    str+=\'\\tA.cl\'+this.name+\'1Links{\'+this.clSubLinks+\'}\\n\'
    str+=\'\\tA.cl\'+this.name+\'2Links{\'+this.clSub2Links+\'}\\n\'
    str+=\'\\tA.cl\'+this.name+\'3Links{\'+this.clSub3Links+\'}\\n\'
    str+=\'\\tA.cl\'+this.name+\'4Links{\'+this.clSub4Links+\'}\\n\'
    str+=\'\\tA.cl\'+this.name+\'5Links{\'+this.clSub5Links+\'}\\n\'
    str+=\'</style>\\n\\n\\n\'
    document.write(str)
}
function fold_make_link(text,lnk,target,offimage,id,cl,ev,acl){
    str2=\'\\t<div id=\"div\'+id+\'\" class=\"cl\'+cl+\'\"><a href=\"\'
    if(lnk)    str2+=lnk+\'\" \'
    else str2+=\'#\" \'
    if(!lnk || target){
        str2+=\'onclick=\"\'+ev+\'; if(bw.ie5 || bw.ie4) this.blur()\'
        if(!target) str2+=\'; return false\'; str2+=\'\"\'
    }
    if(target) str2+=\' target=\"\'+target+\'\"\'; str2+=\' class=\"cl\'+acl+\'Links\">\'
    if(offimage) str2+=\'<img src=\"\'+offimage+\'\" name=\"img\'+id+\'\" border=\"0\">\'
    str2+=text+\'</a><br></div>\\n\'
    return str2
}

function fold_make(type,text,lnk,target,offimage,onimage,fc,opn,end){
    str=\"\" ; fc=fc?fc+\'; \':\'\';
    if(!offimage) offimage=\"\"; if(!onimage) onimage=\"\"
    if(this.a==0) str=\'<div id=\"div\'+this.name+\'Cont\">\\n\'
    if(type==\"top\"){
        id=this.name+this.a
        str+=fold_make_link(text,lnk,target,offimage,this.name+this.a,this.name,fc+this.name+\'.fold(\'+this.a+\',\'+this.name+\'.substay)\',this.name)
        this.menus[this.a]=new Array()
        this.menus[this.a].subs=0
        if(onimage){ this.menus[this.a].onimage=new Image(); this.menus[this.a].onimage.src=onimage; this.menus[this.a].offimage=offimage; this.menus[this.a].img=\'img\'+id}
        this.a++; this.b=0; if(opn) this.opn(this.a)
    }else if(type==\"sub\"){
        id=this.name+(this.a-1)+\'_\'+(this.b),this.name+\'Sub\'
        str+=fold_make_link(text,lnk,target,offimage,id,this.name+\'Sub\',fc+this.name+\'.foldsub(\'+(this.a-1)+\',\'+(this.b)+\',\'+this.name+\'.sub2stay)\',this.name+\'1\')
        if(opn) this.opn(this.a-1,this.b)
        this.menus[this.a-1][this.b]=new Array()
        if(onimage){ this.menus[this.a-1][this.b].onimage=new Image(); this.menus[this.a-1][this.b].onimage.src=onimage; this.menus[this.a-1][this.b].offimage=offimage; this.menus[this.a-1][this.b].img=\'img\'+id}
        this.b++; this.menus[this.a-1].subs=this.b; this.c=0
    }else if(type==\"sub2\"){
        id=this.name+(this.a-1)+\'_\'+(this.b-1)+\'_\'+(this.c)
        str+=fold_make_link(text,lnk,target,offimage,id,this.name+\'Sub2\',fc+this.name+\'.foldsub2(\'+(this.a-1)+\',\'+(this.b-1)+\',\'+(this.c)+\',\'+this.name+\'.sub3stay)\',this.name+\'2\')
        if(opn) this.opn(this.a-1,this.b-1,this.c)
        this.menus[this.a-1][this.b-1][this.c]=new Array()
        if(onimage){ this.menus[this.a-1][this.b-1][this.c].onimage=new Image(); this.menus[this.a-1][this.b-1][this.c].onimage.src=onimage; this.menus[this.a-1][this.b-1][this.c].offimage=offimage; this.menus[this.a-1][this.b-1][this.c].img=\'img\'+id}
        this.c++; this.menus[this.a-1][this.b-1].subs=this.c; this.d=0
    }else if(type==\"sub3\"){
        id=this.name+(this.a-1)+\'_\'+(this.b-1)+\'_\'+(this.c-1)+\'_\'+(this.d)
        str+=fold_make_link(text,lnk,target,offimage,id,this.name+\'Sub3\',fc+this.name+\'.foldsub3(\'+(this.a-1)+\',\'+(this.b-1)+\',\'+(this.c-1)+\',\'+this.d+\',\'+this.name+\'.sub4stay)\',this.name+\'3\')
        if(opn) this.opn(this.a-1,this.b-1,this.c-1,this.d)
        this.menus[this.a-1][this.b-1][this.c-1][this.d]=new Array()
        if(onimage){ this.menus[this.a-1][this.b-1][this.c-1][this.d].onimage=new Image(); this.menus[this.a-1][this.b-1][this.c-1][this.d].onimage.src=onimage; this.menus[this.a-1][this.b-1][this.c-1][this.d].offimage=offimage; this.menus[this.a-1][this.b-1][this.c-1][this.d].img=\'img\'+id}
        this.d++; this.menus[this.a-1][this.b-1][this.c-1].subs=this.d; this.e=0
    }else if(type==\"sub4\"){
        id=this.name+(this.a-1)+\'_\'+(this.b-1)+\'_\'+(this.c-1)+\'_\'+(this.d-1)+\'_\'+(this.e)
        str+=fold_make_link(text,lnk,target,offimage,id,this.name+\'Sub4\',fc+this.name+\'.foldsub4(\'+(this.a-1)+\',\'+(this.b-1)+\',\'+(this.c-1)+\',\'+(this.d-1)+\',\'+this.e+\',\'+this.name+\'.sub5stay)\',this.name+\'4\')
        if(opn) this.opn(this.a-1,this.b-1,this.c-1,this.d-1,this.e)
        this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e]=new Array()
        if(onimage){ this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e].onimage=new Image(); this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e].onimage.src=onimage; this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e].offimage=offimage; this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e].img=\'img\'+id}
        this.e++; this.menus[this.a-1][this.b-1][this.c-1][this.d-1].subs=this.e; this.f=0
    }else if(type==\"sub5\"){
        str+=\'\\t\\t\\t<div id=\"div\'+this.name+(this.a-1)+\'_\'+(this.b-1)+\'_\'+(this.c-1)+\'_\'+(this.d-1)+\'_\'+(this.e-1)+\'_\'+(this.f)+\'\" class=\"cl\'+this.name+\'Sub5\"><a href=\"\'+lnk+\'\" onclick=\"\'+fc+\'\" class=\"cl\'+this.name+\'5Links\"\'
        if(target) str+=\' target=\"+target+\"\'
        str+=\'>\'+text+\'</a><br></div>\\n\'
        if(opn) this.opn(this.a-1,this.b-1,this.c-1,this.d-1,this.e-1,this.f)
        this.f++; this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e-1].subs=this.f
    }
    if(end) str+=\"</div>\"
    document.write(str)
}

</script>
</HEAD>
<BODY bgcolor=\"White\">
<script type=\"text/javascript\" language=\"JavaScript\">
/********************************************************************************
Calling the write functions and setting variables
********************************************************************************/


//Variables to set

oFoldMenu=new foldoutMenuObj(\'oFoldMenu\')
oFoldMenu.substay=false //Should the sub menus stay folded? 
oFoldMenu.sub2stay=false //Should the sub2 menus stay folded?
oFoldMenu.sub3stay=false //Should the sub3 menus stay folded?
oFoldMenu.sub4stay=false //Should the sub4 menus stay folded?
oFoldMenu.sub5stay=false //Should the sub5 menus stay folded? 
oFoldMenu.sub6stay=false //Should the sub6 menus stay folded? 

oFoldMenu.menubetween=5 //The pixel value between the foldoutmenus


oFoldMenu.left=100 //The left position of the menu
oFoldMenu.top=260 //The top position of the menu
oFoldMenu.width=500 //The width of the menu
oFoldMenu.maxheight=600 //The maxheight of the menu, be sure to set this one high enough

//Setting styles
oFoldMenu.clFold=\"\" //Regular styles for the topDivs
oFoldMenu.clSub=\"left:10\" //Styles for the subDivs
oFoldMenu.clSub2=\"left:20\" //Styles for the sub2Divs
oFoldMenu.clSub3=\"left:30\" //Styles for the sub3Divs
oFoldMenu.clSub4=\"left:40\" //Styles for the sub4Divs
oFoldMenu.clSub5=\"left:60\" //Styles for the sub5Divs

oFoldMenu.clCont=\"position:absolute;\" //The cont layer, set position to relative if you want to try and have it inside a layer or whatever
oFoldMenu.clFoldLinks=\"font-family:Arial, Helvetica; font-size:15px; text-decoration:none; font-weight:bold; color:black\" //The style for the toplinks
oFoldMenu.clSubLinks=\"font-family:Arial, Helvetica; font-size:13px; font-weight:bold; text-decoration:none; color:black\" //The style for the sublinks
oFoldMenu.clSub2Links=\"font-family:Arial, Helvetica; font-size:12px; text-decoration:none; color:Black\" //The style for the sub2links
oFoldMenu.clSub3Links=\"font-family:Arial, Helvetica; font-size:11px; text-decoration:none; color:Black\" //The style for the sub3links
oFoldMenu.clSub4Links=\"font-family:Arial, Helvetica; font-size:10px; text-decoration:none; color:Black\" //The style for the sub4links
oFoldMenu.clSub5Links=\"font-family:Arial, Helvetica; font-size:10px; text-decoration:none; color:Black\" //The style for the sub5links

//Do not change this line!
oFoldMenu.makeStyle()


//Making menus

/*ARGUMENTS:
type = what type of menu this item is (top,sub,sub2,sub3,sub4,sub5)
text = the text for the item
lnk = the link for the item (not needed if submenus)
target = the target for the link (not needed if no target or no link)
offimage = the default \"arrow\" image for this element (if you spesify no text, you can use the image only)
onimage = the image to swap to when clicked (not needed if you don\'t want a swap image)
fc = if you want the item to execute another javascript function aswell use this
opn = if you want this particilar item to be opened on load set this to 1 (0,1)
*/

//MAIN 1
oFoldMenu.make(\'top\',\'www.bratta.com\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
    oFoldMenu.make(\'sub\',\'About\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
        oFoldMenu.make(\'sub2\',\'About me\',\'http://www.bratta.com/about.html\',\'\',\'images/square.gif\')
        oFoldMenu.make(\'sub2\',\'Portfolio\',\'http://www.bratta.com/portfolio.asp\',\'\',\'images/square.gif\')
    oFoldMenu.make(\'sub\',\'Scriptomania\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
        oFoldMenu.make(\'sub2\',\'Scripts\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
            oFoldMenu.make(\'sub3\',\'ZoomText\',\'http://www.bratta.com/scripts/list.asp\',0,\'images/square.gif\')
        oFoldMenu.make(\'sub2\',\'Demos\',\'http://www.bratta.com/dhtml/demos/list.asp\',\'\',\'images/square.gif\')
        oFoldMenu.make(\'sub2\',\'Tutorials\',\'http://www.bratta.com/dhtml/howtos/list.asp\',\'\',\'images/square.gif\')
        oFoldMenu.make(\'sub2\',\'Support\',\'http://www.bratta.com/dhtml/support/\',\'\',\'images/square.gif\')
    oFoldMenu.make(\'sub\',\'DHTML\',\'http://www.bratta.com/dhtml/\',0,\'images/square.gif\')
   
   
//MAIN 2   
oFoldMenu.make(\'top\',\'Yahoo.com\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
    oFoldMenu.make(\'sub\',\'Arts & Humanities\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
        oFoldMenu.make(\'sub2\',\'Art History\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
            oFoldMenu.make(\'sub3\',\'Architectural History\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
                oFoldMenu.make(\'sub4\',\'Architects\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
                    oFoldMenu.make(\'sub5\',\'Link 1\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 2\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 3\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 4\',\'http://www.bratta.com\',\'_blank\')
                oFoldMenu.make(\'sub4\',\'Archives\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
                    oFoldMenu.make(\'sub5\',\'Link 1\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 2\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 3\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 4\',\'http://www.bratta.com\',\'_blank\')
                oFoldMenu.make(\'sub4\',\'Bauhaus\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
                    oFoldMenu.make(\'sub5\',\'Link 1\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 2\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 3\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 4\',\'http://www.bratta.com\',\'_blank\')
                oFoldMenu.make(\'sub4\',\'Googie\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
                    oFoldMenu.make(\'sub5\',\'Link 1\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 2\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 3\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 4\',\'http://www.bratta.com\',\'_blank\')
                oFoldMenu.make(\'sub4\',\'Medieval\',0,0,\'images/arrow.gif\',\'images/arrow1.gif\')
                    oFoldMenu.make(\'sub5\',\'Link 1\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 2\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 3\',\'http://www.bratta.com\',\'_blank\')
                    oFoldMenu.make(\'sub5\',\'Link 4\',\'http://www.bratta.com\',\'_blank\')
            oFoldMenu.make(\'sub3\',\'Art Historians\',\'http://www.bratta.com\',\'_blank\')
            oFoldMenu.make(\'sub3\',\'Artists\',\'http://www.bratta.com\',\'_blank\')
            oFoldMenu.make(\'sub3\',\'Bibliographies\',\'http://www.bratta.com\',\'_blank\')
            oFoldMenu.make(\'sub3\',\'Books\',\'http://www.bratta.com\',\'_blank\')
        oFoldMenu.make(\'sub2\',\'Arts Therapy\',\'http://www.bratta.com\',\'_blank\')
        oFoldMenu.make(\'sub2\',\'Awards\',\'http://www.bratta.com\',\'_blank\')
        oFoldMenu.make(\'sub2\',\'Booksellers\',\'http://www.bratta.com\',\'_blank\')
        oFoldMenu.make(\'sub2\',\'Censorship\',\'http://www.bratta.com\',\'_blank\')
        oFoldMenu.make(\'sub2\',\'Chats and Forums\',0,0,0,0,0,0,1)


oFoldMenu.construct()
</script>

YOUR REGULAR BODY CONTENT GOES IN HERE
</BODY>
</HTML>

Avatar billede redfox Nybegynder
13. august 2000 - 18:39 #7
Var det første eller anden stavelse af \"simpel\" du ikke forstod?
Avatar billede steven Nybegynder
13. august 2000 - 18:40 #8
Kan det bruges?

/Steven
Avatar billede roslev Nybegynder
13. august 2000 - 18:43 #9
redfox: den der tone kommer du ikke langt med - steven gør det næppe for at genere dig. Kan du ikke bruge svaret så afvis - det er det knappen er til... -Ingen grund til at tale ned til folk!
Avatar billede olebole Juniormester
13. august 2000 - 18:44 #10
<ole>
\"...Ren tekst, ikke for meget kode...\"
Jahh...det må man sandelig kalde en forskel fra de andres. Det letteste er nok et købe nogle af disse små gule huskesedler og skrive menupunkterne på dem. Så kan du klæbe dem op på skærmen og flytte dem lidt rundt i ny og næ  ;o))

Seriøst tror jeg nok, du må se i øjnene, at du skal have gang i en middelsvær kode for at lave en hierakisk menu i DHTML - specielt, hvis den skal virke X-browser og -platform.
Meget mindre end dem, du finder bag de to links, steven har anvist, skal du nok ikke regne med at finde.
/Vh
</bole>
Avatar billede steven Nybegynder
13. august 2000 - 18:45 #11
Redfox>> Først kalder du mig en KEGLE, og derefter insinuerer du at jeg FATSVAG! Jeg har serveret dig den kode du efterspurgte, jeg er ked at du ikke selv kan gennemskue at ændre de rigtige steder i koden så du kan bruge den.

Jeg kan desværre ikke hjælpe dig mere, og er ked af at have brugt tid på at blive svinet til!

Håber der er andre på dit niveau der gider at hjælpe dig!

/Steven
Avatar billede olebole Juniormester
13. august 2000 - 18:48 #12
Med den forkælede pubertets-approach skal du i hvert fald ikke regne med, nogle af de, der kan hjælpe dig, gider gøre det!
Vær glad for, steven overhovedet gad...men mon ikke det er slut herefter?
Go get a life...
Avatar billede tommyv Nybegynder
13. august 2000 - 18:50 #13
Prøv at se på http://www.laceychabert.dk Hvis det er det du ønsker kan det godt tænkes, at jeg vil smide koden op her... Det kræver dog php...
Avatar billede redfox Nybegynder
13. august 2000 - 19:02 #14
Nu har jeg selv fundet 15 linier som virker... 

Steven> Hvis du vil have de 100 point som undskyldning skal du være velkommen til at svare.

Tommyv> Jeg håbede på at undgå server-side, men ellers tak.
Avatar billede el_gnu Nybegynder
13. august 2000 - 19:06 #15
Var der ikke nogen der kørte en blacklist over folk det ikke er værd at hjælpe?

Her er i hvertfald en sikker kandidat :-/

Ved nærmere eftertanke tror jeg at jeg laver en blacklist (selvfølgelig med henvisniger til foranledende spørgsmål)

I\'ll be back
Avatar billede redfox Nybegynder
13. august 2000 - 19:10 #16
Sagde gnuen som har hjulpet halvt så mange som jeg... Det er selvfølgelig også sjovere at lege politimand for Emma Gadd, end det er at svare på spørgsmål.
Avatar billede redhead Nybegynder
13. august 2000 - 19:22 #17
dette script er fra script.dk og skulle virke fint:


<SCRIPT LANGUAGE=\"JavaScript1.2\"><!--
if (document.layers) NS4 = 1; else NS4 = 0; if (document.all) IE4 = 1; else IE4 = 0; function display(id, str) { if (NS4) { with (document[id].document) { open(); write(str); close(); } } else { document.all[id].innerHTML = str; } }; function repstr(_in,_rep) { out = \"\"; for(_c=0; _c<_rep; _c++) out = out + _in; return out }; function showtree(node,level,str,expand) { if ( node.childs() == 0 ) { str = str + repstr(\"&nbsp;\",level*4) + \"<A HREF=\\\"\" + node.url + \"\\\" TARGET=\" + menu_frame + \" onMouseOver=\\\"window.status=\'\" + node.text + \"\';return true\\\" onMouseOut=\\\"window.status=\'\';return true\\\">-\" + node.text + \"</A><BR>\"; } else { if ( expand == 0 ) { str = str + repstr(\"&nbsp;\",level*4) + \"<A HREF=\\\"java script:toggle(\'\" + node.name + \"\')\\\" onMouseOver=\\\"window.status=\'\" + node.text + \"\';return true\\\" onMouseOut=\\\"window.status=\'\';return true\\\">\" + node.text + \"</A><BR>\"; } if ( expand == 1 ) { str = str + repstr(\"&nbsp;\",level*4) + node.text + \"<BR>\"; } } if ( ( ( node.unfold == 1 ) || ( expand == 1 ) ) && ( node.childs() > 0 ) ) { for (node.movefirst() ; node.notlastchild() ; node.movenext() ) { str = showtree(node.getchild(),level + 1,str,expand); } } return str; }; function toggle(name) { node = findnode(MyNode,eval(name)); if ( node.unfold == 0 ) { node.unfold = 1; } else { node.unfold = 0; } updatemenu(); }; function updatemenu() { str = \'<P><A HREF=\"java script:showhelp()\">?</A>&nbsp;\'; display(\"menu\",showtree(MyNode,0,str,0) + \"</P>\"); }; function showhelp() { str = \'<P><A HREF=\"java script:updatemenu()\">!</A>&nbsp;<A HREF=\"java script:updatemenu()\">menu</A><BR><BR>Click in the menu, to view the submenu and links.</P>\'; display(\"menu\",str); }; function Node_childs() { return this.child.length; }; function Node_movefirst() { this.cchild = 0; }; function Node_movenext() { this.cchild++; }; function Node_notlastchild() { if ( this.cchild < this.childs() ) return 1; else return 0; }; function Node_getchild() { return this.child[this.cchild]; }; function Node(_text,_url) { this.text = _text; this.url = _url; this.unfold = 0; this.child = []; this.cchild = 0; this.childs = Node_childs; this.notlastchild = Node_notlastchild; this.movefirst = Node_movefirst; this.movenext = Node_movenext; this.getchild = Node_getchild; this.name = Math.random(); return this; }; function findnode(node,name) { if ( node.name == name ) return node; if ( node.childs() > 0 ) { for (node.movefirst(); node.notlastchild() ; node.movenext() ) { temp = findnode(node.getchild(),name); if ( temp != null ) return temp; } } return null; }

//-- RET HER FOR OPSÆTNING AF MENU --
var menu_title = \"JavaScript Menu\";
var menu_frame = \"main\";
var MyNode = new Node(\"menu\",\"\");
MyNode.child[0] = new Node(\"søgemaskiner\",\"\");
MyNode.child[0].child[0] = new Node(\"danske\",\"\");
MyNode.child[0].child[0].child[0] = new Node(\"jubii\",\"http://www.jubii.dk/\");
MyNode.child[0].child[0].child[1] = new Node(\"yahoo\",\"http://www.yahoo.dk/\");
MyNode.child[0].child[1] = new Node(\"internationale\",\"\");
MyNode.child[0].child[1].child[0] = new Node(\"altavista\",\"http://www.altavista.com/\");
MyNode.child[0].child[1].child[1] = new Node(\"yahoo\",\"http://www.yahoo.com/\");
MyNode.child[1] = new Node(\"e-mails\",\"\");
MyNode.child[1].child[0] = new Node(\"hotmail\",\"http://www.hotmail.com/\");
MyNode.child[2] = new Node(\"javascript\",\"\");
MyNode.child[2].child[0] = new Node(\"script.dk\",\"http://www.script.dk/\");

if ( ( NS4 == 1 ) || ( IE4 == 1 ) ) setTimeout(\'updatemenu()\',1);
//--></SCRIPT><STYLE>

<!-- OPSÆTNING AF UDSEENDE -->
a {text-decoration: none; color: black;}
p {text-decoration: none; color: black;}
</STYLE>
<SCRIPT>document.write(menu_title);</SCRIPT><P><DIV ID=\"menu\" STYLE=\"position: absolute;\"><SCRIPT>if ( ( NS4 != 1 ) && ( IE4 != 1 ) ) document.write(showtree(MyNode,0,\'\',1))</SCRIPT><NOSCRIPT>Dette er en javascript menu. Din browser understøtter desværre ikke javascript</NOSCRIPT></DIV>
Avatar billede olebole Juniormester
13. august 2000 - 19:27 #18
el_gnu >> Så er vi der IGEN med syntaksfejlene  :oP
\"I\'ll be black\"...hedder det!  ;oD

Erik Jacobsen kom faktisk med et fremragende forslag på et tidspunkt. At lave et ekstra felt i DB\'en, hvor vores brugerindstillinger ligger (når de altså gør det...gnæk, gnæk!). Det kunne så indeholde et array med de brugernavne, fra hvem hver især ikke ønsker at modtage notifikationer om nye spørgsmål. Det ville betyde, man ikke behøvede at checke deres spørgsmål - og de ville formodentlig hurtigt blive trætte af ikke at få svar på dem.

Hvornår ser vi iøvrigt et citat i øverste højre hjørne, hvor der står noget i retning af:
   
    \"\"Er der noget mere træls end at skifte mentale Pampers
      på Ekspertens uopdragne småbørn?\"

/Vh
Avatar billede steven Nybegynder
13. august 2000 - 19:28 #19
Redfox>> Det er rart at se at du er kommet på bedre tanker, og har vasket dine hænder/mund i sæbe *G*.

Hvis du virkelig har fundet et script der er bedre end det jeg fandt til dig vil jeg meget gerne se det - det er altid rart selv at få noget ud af det når man besvarer spørgsmål!

/Steven
Avatar billede el_gnu Nybegynder
13. august 2000 - 21:13 #20
olebole => Det begynder at nærme sig mobning ;-)

Kanon forslag med så\'n et filter til at sortere uønskede indlæg fra. HØRT, HØRT (olebole => det sidste var ikke en klæbrig tøs, men overlagt! :-)))
Avatar billede zaknafein Praktikant
13. august 2000 - 22:05 #21
redfox >>Det var dog egentligt en irreterende tone du køre med!
Avatar billede redfox Nybegynder
13. august 2000 - 22:34 #22
irriterende - adj.
Avatar billede keysersoze Ekspert
14. august 2000 - 00:11 #23
hvad mener du egentlig med \"simpel kode\"??? hvis du skal have noget som helst i simpel kode, ser det ud som om, at vi skal begynde at forklare dig noget om:

<HTML>
<HEAD>

</BODY>
</HTML>

vil man have noget, der ser godt ud, så er det meget kode eller arbejde det ligger bag...

prøv at se her:

http://www2000184.thinkquest.dk/

det er en menu jeg har været med til at lave... simpel? både ja og nej... men kan du ikke bruge noget af det andet, så kan dette jo så altså heller ikke bruges...
Avatar billede redfox Nybegynder
19. august 2000 - 13:14 #24
<html>
<head>
<script language=\"JavaScript1.2\">
<!--

/*
Contractible Headers Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100\'s more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var head=\"display:\'\'\"
function doit(header){
var head=header.style
if (head.display==\"none\")
head.display=\"\"
else
head.display=\"none\"
}
//-->
</script>
</head>
<body>

<h3 style=\"cursor:hand\" onClick=\"doit(document.all[this.sourceIndex+1])\">Header 1</h3>
<span style=\"display:none\" style=&{head};>
This is content under Header 1.
</span>
<h3 style=\"cursor:hand\" onClick=\"doit(document.all[this.sourceIndex+1])\">Header 2</h3>
<span style=\"display:none\" style=&{head};>
This is content under Header 2.
</span>

</body>
</html>
Avatar billede olebole Juniormester
19. august 2000 - 17:31 #25
Men hvad nu, hvis folk ikke bryder sig om at bruge lige netop det browser fabrikat, der kan læse det script? Jeg troede, det skulle virke i begge browsere (om det så betyder Opera og NetScape eller(?)...Hehe!)

Det er jo ikke uden grund, at folk skriver lange koder.
Avatar billede redfox Nybegynder
19. august 2000 - 17:34 #26
Jeg citerer mig selv i spørgsmålets formålsparagraf:

\"Derudover skal det helst virke i begge browsere (IE første prioritet). \"

Nu er IE klaret, så kommer Netscape...
Avatar billede olebole Juniormester
19. august 2000 - 17:42 #27
Jamen, så har du jo svarene ovenfor  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester