Avatar billede hermie Nybegynder
05. marts 2003 - 14:41 Der er 1 løsning

Topmenu

Jeg har hentet en topmenu fra den berømte Hr. Bratta. Ironisk nok kunne jeg godt tænke mig at kunne regulere topmenuen væk fra toppen - f.eks. 50 px. Jeg er ikke så stærk i javascriptkoderne, så er der nogen, der kan fortælle mig, om der er mulighed for at få menuen væk fra toppen i dette script?

Her er scriptet:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
#divMenu0 {position:absolute; top:50px; left:780px; visibility:hidden; font-family:verdana; font-size:12px; font-weight:bold; color:#000000;}
.undermenu {font-size:10px; color:#000000; text-decoration:none; font-weight:normal;}
.farve {color:#000000; text-decoration:none;}
</style>
<script language="JavaScript" type="text/javascript">
/********************************************************************************** 
TopMenu
*  Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
*  This script was released at DHTMLCentral.com
*  Visit for more great scripts!
*  This may be used and changed freely as long as this msg is intact!
*  We will also appreciate any links you could give us.
*
*  Made by <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
*********************************************************************************/

function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=this.agent.indexOf("Opera 5")>-1
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
    this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
    this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6
    this.mac=this.agent.indexOf("Mac")>-1
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
    return this
}
var bw=new lib_bwcheck()
//How many pixels should it move every step?
var tMove=10;

//At what speed (in milliseconds, lower value is more speed)
var tSpeed=40

//Do you want it to move with the page if the user scroll the page?
var tMoveOnScroll=true

//How much of the menu should be visible in the in state?
var tShow=20

/********************************************************************
Contructs the menuobjects -Object functions
*********************************************************************/
function makeMenu(obj,nest,show,move,speed){
    nest=(!nest) ? "":'document.'+nest+'.'
    this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
      this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;       
    this.x=this.css.left||this.css.pixelLeft||this.el.offsetLeft||0
    this.y=this.css.top||this.css.pixelTop||this.el.offsetTop||0
    this.state=1; this.go=0; this.mup=b_mup; this.show=show; this.mdown=b_mdown;
    this.height=bw.ns4?this.css.document.height:this.el.offsetHeight
    this.moveIt=b_moveIt; this.move=move; this.speed=speed
    this.obj = obj + "Object";     eval(this.obj + "=this")   
}

// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px;}
//Menu in
function b_mup(){
    if(this.y>-this.height+this.show){
        this.go=1; this.moveIt(this.x,this.y-this.move)
        setTimeout(this.obj+".mup()",this.speed)
    }else{this.go=0; this.state=1}   
}
//Menu out
function b_mdown(){
    if(this.y<eval(scrolled)){
        this.go=1; this.moveIt(this.x,this.y+this.move)
        setTimeout(this.obj+".mdown()",this.speed)
    }else{this.go=0; this.state=0}   
}
/********************************************************************************
Deciding what way to move the menu (this is called onmouseover, onmouseout or onclick)
********************************************************************************/
function moveTopMenu(num){
    if(!oMenu[num].go){
        if(!oMenu[num].state)oMenu[num].mup()   
        else oMenu[num].mdown()
    }
    for(i=0;i<oMenu.length;i++){
        if(i!=num && !oMenu[i].state){ oMenu[i].mup()}
    }
}
/********************************************************************************
Checking if the page is scrolled, if it is move the menu after
********************************************************************************/
function checkScrolled(){
    for(i=0;i<oMenu.length;i++){
        if(!oMenu[i].go){
            y=!oMenu[i].state?eval(scrolled):eval(scrolled)-oMenu[i].height+oMenu[i].show
            oMenu[i].moveIt(oMenu[i].x,y)
        }
    }
    if(bw.ns4||bw.ns6) setTimeout('checkScrolled()',40)
}
/********************************************************************************
Inits the page, makes the menu object, moves it to the right place,
show it
********************************************************************************/
function TopMenuInit(){
    oMenu=new Array()
    oMenu[0]=new makeMenu('divMenu0',"",tShow,tMove,tSpeed)
    scrolled=bw.ns4||bw.ns6?"window.pageYOffset":"document.body.scrollTop"
    //Placing and showing menus
    for(i=0;i<oMenu.length;i++){
        oMenu[i].moveIt(oMenu[i].x,-oMenu[i].height+oMenu[i].show)
        oMenu[i].css.visibility='visible'
    }
    if(tMoveOnScroll) bw.ns4||bw.ns6?checkScrolled():window.onscroll=checkScrolled;
}

//Initing menu on pageload
onload=TopMenuInit;
</script>
</head>

<body marginleft="0" marginheight="0">
<div id="divMenu0">
    <a href=1.htm class=undermenu>1</a><br><br>
    <a href=2.htm class=undermenu>2</a><br><br>
    <a href=3.htm class=undermenu>3</a><br><br>
    <a href=4.htm class=undermenu>4</a><br><br>
    <a href=5.htm class=undermenu>5</a><br><br>
    <a href=6 class=undermenu>6</a><br><br>
    <a href=7 class=undermenu>7</a><br><br>

   
    <a href="#" onclick="moveTopMenu(0); return false" class=farve>Hovedmenu</a>
</div>
</body>
</html>
Avatar billede hermie Nybegynder
28. marts 2003 - 11:18 #1
Jeg lukker dette spørgsmål...
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