Avatar billede viperfx102 Nybegynder
15. august 2001 - 16:14 Der er 11 kommentarer og
1 løsning

<div>

Jeg har downloaded en menu fra www.dhtmlcentral.com (samme menu som der bliver brugt på www.dhmlcentral.com) og skal nu ha\' smidt den ind i toppen af min side. Jeg har fundet ud af jeg skal bruger <div> til at styrer det med, men jeg kan ikke lige hit ud af det!
Siden ser så ledes ud pt.:

<html>
<head>

    <title>Titel</title>

</head>

<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>

<script language=\"JavaScript1.2\" src=\"coolmenu.js\">
</script>
<script language=\"JavaScript1.2\" src=\"menu.js\">
</script>

<font face=\"Arial\" size=\"2\" color=\"#99C0E5\">Her skal der v&aelig;re noget tekst</font>

</body>
</html>
Avatar billede jacobve Nybegynder
15. august 2001 - 16:19 #1
<div></div> indeholder det du vil have tilat komme frem og forsvinde.

Ved at give hver af de layers (<div></div>) et id. som fx. id=\"et\" kan du bruge nogle javascript funktioner til at gemme og vise de forskellige layers.
Avatar billede jacobve Nybegynder
15. august 2001 - 16:21 #2
du kan så kalde de funktioner der helt sikkert (har ikke tjekket) er i menu.js eller coolmenu.js med det div id og få skjult og vist menuen.
Avatar billede roenving Novice
15. august 2001 - 16:30 #3
>>viperfx102

som jacobve skriver, skal du \'bare\' oprette de div\'s, som der henvises til -- dem kan du vel se et id på på dhtmlcentral.com (om ikke andet så i kilden), alle andre parametre (størrelse, placering, farver m.m.m.) er jo styret fra js-koden, så det behøver du ikke at bekymre dig om.

hth
jes
Avatar billede viperfx102 Nybegynder
15. august 2001 - 16:34 #4
Det var også det jeg var begyndt at komme frem til, men jeg synes ikke rigtigt jeg kan finde et id i koden, men jeg her er der noget at koden!

/************
Making DIV objects + DIV objects code
*************/
function cm_makeObj(obj,name,level,win,nest,o){
    if(o&&(bw.ns4||bw.ns6)) this.evnt=o
    else this.evnt=bw.dom?win.document.getElementById(obj):bw.ie4?win.document.all[obj]:bw.ns4?nest?win.document[nest].document[obj]:win.document[obj]:0;
    if(!this.evnt) return debug(\'There seems to be an error with this layer:\\nFrame: \'+win+\'\\nLayer: \'+nest + \".\" + obj)
    this.css=bw.dom||bw.ie4?this.evnt.style:bw.ns4?this.evnt:0;    this.ref=bw.dom || bw.ie4?win.document:bw.ns4?this.css.document:0;
    this.hideIt=cm_hideIt; this.showIt=cm_showIt; this.writeIt=cm_writeIt; this.setactive=cm_setactive; this.addEvents=cm_addEvents;
    this.moveIt=cm_moveIt; this.clipTo=cm_clipTo; if(name) this.parent=name; this.moveY=cm_moveY; this.l=level; this.clipOut=cm_clipOut;
    this.filterIt=cm_filterIt; this.obj = obj + \"Object\";     eval(this.obj + \"=this\"); this.tim=10; this.clipy=0; return this
}
function cm_writeIt(text){if(!this.img1){if(bw.ns4){this.ref.write(text);
this.ref.close()}else this.evnt.innerHTML=text}}; function cm_moveY(y){this.y=y; this.css.top=y}
function cm_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function cm_showIt(){this.css.visibility=\"visible\"; this.vis=1}; function cm_hideIt(){this.css.visibility=\"hidden\"; this.vis=0}
function cm_clipOut(px,w,ystop,tim,name){
    if(!this.vis) return; if(this.clipy<ystop-px){this.clipy+=px; this.clipTo(0,w,this.clipy,0,1)
        this.tim=setTimeout(this.obj+\".clipOut(\"+px+\",\"+w+\",\"+ystop+\",\"+tim+\",\'\"+name+\"\')\",tim)
    }else{if(bw.ns6){this.hideIt();}; this.clipTo(0,w,ystop,0,1); if(bw.ns6){this.showIt()}}
}
function cm_filterIt(f){if(this.evnt.filters[0]) this.evnt.filters[0].Stop(); else this.css.filter=f; this.evnt.filters[0].Apply(); this.showIt(); this.evnt.filters[0].Play();}
function cm_setactive(on,name,frmmouse){
    if(!name) name=this.name; var tobj=this.parent.m[name]
    if(tobj.img){if(tobj.img2){if(on) this.ref.images[tobj.img].src=tobj.img2; else this.ref.images[tobj.img].src=tobj.img1}
    }else{
        if(on){var color=tobj.c2; var fcolor=tobj.c4; var re=tobj.c3}else{var color=tobj.c1; var fcolor=tobj.c3; var re=tobj.c4}
        if(color){if(bw.dom || bw.ie4) this.css.backgroundColor=color; else if(bw.ns4) if(color==\"transparent\") color=null; this.css.bgColor=color}
        if(fcolor && !bw.ns4){if(bw.ie4) this.evnt.style.color=fcolor; else if(this.evnt.childNodes[0]) this.evnt.style.color=fcolor
        }else if(fcolor&&frmmouse){t=this.parent.m[name].text; t=t.replace(re,fcolor); this.writeIt(t); if(on) this.addEvents(name,this.parent.name,tobj.lnk,this.parent.useclick)}
        if(tobj.l==0&&bw.ns6){this.parent.l[0].o[tobj.num].oBorder.hideIt(); this.parent.l[0].o[tobj.num].oBorder.showIt();} //Stupid fix for netscape 6....
    }
}
function cm_clipTo(t,r,b,l,w){if(bw.ns4){this.css.clip.top=t;this.css.clip.right=r; this.css.clip.bottom=b;this.css.clip.left=l
}else{this.css.clip=\"rect(\"+t+\",\"+r+\",\"+b+\",\"+l+\")\"; if(w){this.css.width=r; this.css.height=b}}; this.width=r; this.height=b}
function cm_addEvents(n,name,url,useclick){
    this.evnt.onmouseover=new Function(name+\".mover(\'\"+n+\"\')\");
    this.evnt.onmouseout=new Function(name+\".mmout(\'\"+n+\"\')\")
    if(!url && useclick) ev=new Function(name+\".mover(\'\"+n+\"\',1)\")
    else ev=new Function(name+\".go(\'\"+n+\"\')\")
    if(bw.ns4){this.ref.captureEvents(Event.MOUSEDOWN); this.ref.onmousedown=ev}
    else this.evnt.onclick=ev
}
Avatar billede roenving Novice
15. august 2001 - 16:42 #5
Men det er ikke i den del af koden objekterne bliver defineret -- her bliver de bare overført, jvf.:

function cm_makeObj(obj,name,level,win,nest,o)

kan du ikke lige søge i koden efter:

cm_makeObj

og så finde kaldene -- jeg kan da overhovedet ikke huske hvordan den del af koden virker !~]
Avatar billede viperfx102 Nybegynder
15. august 2001 - 16:50 #6
Der står noget i denne del af koden, men jeg synes stadig ikke rigtigt jeg kan finde hoved og hale i det!

/************
Making all top elements
*************/
function cm_makeTop(rr){
    var m,rows,border,x,y,mpa
    m=this.menuplacement; rows=this.rows; this.pxbetween=this.checkp(this.pxbetween,0,1,1)
    border=this.l[0].border;y=this.checkp(this.fromtop,0,0,1)+border;x=this.checkp(this.fromleft,0,0,1)+border
    if(m==\"bottomcenter\"||m==\"bottom\"){
        if(m==\"bottomcenter\") x=toppage.x2/2-(this.totwidth+border*this.l[0].num+this.pxbetween*(this.l[0].num-1))/2
        y=toppage.y2-this.maxheight-border
    }else if(m==\"right\") x=toppage.x2-this.maxwidth-border*2
    else if(m==\"bottom\") y=toppage.y2-this.maxheight-border*2
    else if(m==\"center\"){if(rows==0) x=toppage.x2/2 -  (this.maxwidth+border*2)/2; else x=toppage.x2/2 - (this.totwidth + border*this.l[0].num +this.pxbetween*(this.l[0].num-1))/2}
    else if(m.toString().indexOf(\",\")>-1) mpa=1
    if(this.usebar){ var bx,by,bww,bh,oBb
        oNS=bw.ns6?this.oNS[this.l[0].maxnum]:0
        this.oBar=new cm_makeObj(\'div\'+this.name+\'Bar\',0,0,window,0,oNS)
        if(this.barx==\"menu\") bx=mpa&&rows?this.checkp(m[0],1,0,1)-border:x-border; else{ bx=this.checkp(this.barx,1,0,1) }
        if(this.bary==\"menu\") by=mpa&&!rows?this.checkp(m[0],0,0,1)-border:y-border; else by=this.checkp(this.bary,0,0,1);  this.oBar.moveIt(bx,by)
        if(this.barwidth==\"menu\"){bww=rows?mpa?(this.checkp(m[m.length-1],1,0,1)-bx)+this.m[this.l[0].names[this.l[0].num-1]].width+border:(this.totwidth +this.pxbetween*(this.l[0].num-1)):this.maxwidth;
        bww+=!rows?border*2:0;}else bww=this.checkp(this.barwidth,1,0,1);
        if(bw.ie&&rows&&this.barwidth==\"100%\"&&this.useframes) bww+=parseInt(self.document.body.leftMargin)*2
        if(this.barheight==\"menu\"){bh=!rows?mpa?(this.checkp(m[m.length-1],0,0,1)-by)+this.m[this.l[0].names[this.l[0].num-1]].height+border:(this.totheight + this.pxbetween*(this.l[0].num-1)):this.maxheight;
        bh+=rows?this.l[0].border*2:0;} else bh=this.checkp(this.barheight,0,0,1);
        this.oBar.clipTo(0,bww,bh,0,1);
        if(this.barinheritborder&&border){oBb=new cm_makeObj(\'div\'+this.name+\'Barb\',0,0,window,\'div\'+this.name+\'Bar\');
        oBb.moveIt(border,border); oBb.clipTo(0,bww-border*2,bh-border*2,0,1); oBb=null;}
    }this.l[0].o=new Array()
    for(j=0;j<this.l[0].maxnum;j++){
        this.l[0].o[j]=new cm_makeObj(\'div\'+this.name+\'0_\'+j,this,0,window,\'div\'+this.name+\'0_\'+j+\'b\'); if(bw.ns6) oNS=this.oNS[j]; else oNS=0
        this.l[0].o[j].oBorder=new cm_makeObj(\'div\'+this.name+\'0_\'+j+\'b\',0,0,window,0,oNS)
        obj=this.l[0].o[j]; w=this.m[this.l[0].names[j]].width; h=this.m[this.l[0].names[j]].height
        obj.addEvents(this.l[0].names[j],this.name,this.m[this.l[0].names[j]].lnk,this.useclick); obj.clipTo(0,w,h,0,1)
        if(mpa){if(rows==1) x=this.checkp(m[j],0,1,1); else y=this.checkp(m[j],0,0,1)}
        obj.moveIt(border,border);
        obj.setactive(0,this.l[0].names[j])
        obj.oBorder.moveIt(x-border,y-border); obj.oBorder.clipTo(0,w+border*2,h+border*2,0,1); obj.oBorder.showIt()
        if(rows==0) y+=h+border+this.pxbetween
        else x+=w+border+this.pxbetween; obj.showIt()
    }if(!rr){
        if(this.useclick) coolFMouseup+=this.name+\".mmout(\'\',1);\"; if(!this.useframes&&!bw.ns4) this.refresh()
        else if(!this.useframes&&bw.ns4){l=\"\"; if(onload){l=String(onload.toString()); l=l.replace(\"function onload(event)\",\"\"); l=l.slice(25,l.length-2)} l+=this.name+ \".refresh();\"; onload=new Function(l)}
        if(this.resizecheck) setTimeout(\'window.onresize=new Function(\"\'+this.name+\'.resized()\")\',500)
        if(this.checkscroll){if(bw.ns4 || bw.ns6){if(this.checkscroll!=2&&this.useframes!=1){setTimeout(\"cm_checkScrolled(\"+this.name+\")\",200)}}}
        if(this.useframes&&!rr) this.checkFrame(0); else this.win=window
    }
}
Avatar billede jacobve Nybegynder
15. august 2001 - 16:55 #7
puha.. den kode står også bare tæt :-(
Avatar billede roenving Novice
15. august 2001 - 17:24 #8
Uff ja ...

og så havde jeg den lige inde i en javascript-editor -- det hjalp ikke så meget, for koden er stakket (altså flere statements på samme linje), så det vil lige kræve et stykke tid og indsættelse af et par hundrede linjeskift (og indrykninger) før den kan overskues.

>>viperfx102

kunne du ikke fortælle hvad for en menu du tog, coolmenu 1, 10 eller hvad
-- eller alternativt paste instruktionsforvirringen, som var et eller andet sted sammen med (eller har du klippet direkte fra sourcen på dhtmlcentral ?-/ )

=·)
Avatar billede viperfx102 Nybegynder
15. august 2001 - 17:35 #9
Jeg har brugt coolmenu 9. Der er desværre ingen instruktioner med, kun de 2 js filer og nogle html filer med eksempler #:o(
Avatar billede roenving Novice
15. august 2001 - 17:57 #10
Er der ikke div\'s i html\'erne eller er de bare som ovenfor ?
Avatar billede viperfx102 Nybegynder
15. august 2001 - 18:35 #11
Den er bare som ovenfor, jeg har også prøvet at kigge på koden på www.dhtmlcentral.com det er samme menu, men der synes jeg heller ikke jeg kan finde noget brugbart!
Avatar billede viperfx102 Nybegynder
31. marts 2002 - 15:37 #12
-
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