Avatar billede gnyff Nybegynder
23. maj 2001 - 12:03 Der er 19 kommentarer og
1 løsning

Drop down menu, altid i top under scroll

Jeg har lavet en lille drop down menu, men når jeg scroller ned, forsvinder menuen med resten af teksten.

Hvordan for jeg min menu til at blive i toppen, når jeg scroller ned, så man altid kan bruge den?
Avatar billede oskar Nybegynder
23. maj 2001 - 12:13 #1
masser af forslag på http://www.dynamicdrive.com/
Avatar billede ras2000 Nybegynder
23. maj 2001 - 14:38 #2
Avatar billede tirr Nybegynder
24. maj 2001 - 00:25 #3
ras2000

Er det muligt at få lidt mere hjælp til svaret, du har på: http://www.eksperten.dk/spm/74511

Jeg har brug for lidt mere info ?
Avatar billede gnyff Nybegynder
24. maj 2001 - 11:12 #4
Jeg har prøvet løsningen fra spm74511, men når jeg bruger den forsvinder min menu helt, så den hjælper ikke
Avatar billede ras2000 Nybegynder
28. maj 2001 - 11:12 #5
Jepper! Jeg skulle lige have et par dages ferie, men spørg løs.
Avatar billede gnyff Nybegynder
28. maj 2001 - 13:48 #6
OK, jeg vil bare have min menu til at blive i toppen af browseren selv om der bliver scrollet ned, og jeg bruger ikke frames :o)

Kan du ikke hjælpe mig med det?
Avatar billede ras2000 Nybegynder
28. maj 2001 - 14:05 #7
Det kan jeg da. Det jeg skriver er kun ie-venligt, jeg ved ikke noget om x-browseri. Prøv det her :
<html>
<head>
<script type=\"text/javascript\">
function skift(el) {
    el.style.borderBottomColor = \'#ff0000\';
    el.style.borderRightColor = \'#ff0000\';
    el.style.borderTopColor = \'#330000\';
    el.style.borderLeftColor = \'#330000\';
    el.parentElement.children(0).style.backgroundColor = \'#ffff00\';
    el.parentElement.children(0).style.borderBottomColor = \'#ff0000\';
    el.parentElement.children(0).style.borderRightColor = \'#ff0000\';
    el.parentElement.children(0).style.borderTopColor = \'#330000\';
    el.parentElement.children(0).style.borderLeftColor = \'#330000\';
}
function uskift(el) {
    el.parentElement.children(0).style.backgroundColor = \'\';
    el.style.borderBottomColor = \'\';
    el.style.borderRightColor = \'\';
    el.style.borderTopColor = \'\';
    el.style.borderLeftColor = \'\';
    el.parentElement.children(0).style.borderBottomColor = \'\';
    el.parentElement.children(0).style.borderRightColor = \'\';
    el.parentElement.children(0).style.borderTopColor = \'\';
    el.parentElement.children(0).style.borderLeftColor = \'\';
}
function placer() {
    document.all.menu1.style.top = document.body.scrollTop;
    document.all.menu2.style.top = document.body.scrollTop;
}
</script>
</head>
<body onscroll=\"placer()\">
<div id=\"menu1\" style=\"position:absolute; top:0; left:0; background:red; width:100; height:100;\">
<table border=\"1\" bordercolor=\"#000000\" cellpadding=\"4\" cellspacing=\"0\" width=\"100%\">
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'vedtaegter.htm\'\">Vedtægter</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'medlemsliste.htm\'\">Medlemsliste</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'proevningsmetoder.htm\'\">Prøvningsmetoder</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'varedeklarationer.htm\'\">Varedeklarationer</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'generelbeskrivelse.htm\'\">Generel beskrivelse</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'tegloverliggere.htm\'\">Overliggere</td>
  </tr>
</table>
</div>

<div id=\"menu2\" style=\"position:absolute; top:0; right:0; background:red; width:100; height:100;\">
<table border=\"1\" bordercolor=\"#000000\" cellpadding=\"4\" cellspacing=\"0\" width=\"100%\">
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'vedtaegter.htm\'\">Vedtægter</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'medlemsliste.htm\'\">Medlemsliste</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'proevningsmetoder.htm\'\">Prøvningsmetoder</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'varedeklarationer.htm\'\">Varedeklarationer</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'generelbeskrivelse.htm\'\">Generel beskrivelse</td>
  </tr>
  <tr>
    <td class=\"menu\">&nbsp;</td>
    <td class=\"menu\" align=\"center\" nowrap onmouseover=\"skift(this)\" onmouseout=\"uskift(this)\" onclick=\"document.location.href=\'tegloverliggere.htm\'\">Overliggere</td>
  </tr>
</table>
</div>
<div>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
blabla<br>
</div>
</body>
</html>
Hvis du ser på det, vil du lægge mærke til at indholdet går ind under munuerne. Det ved jeg ikke om du vil have at det skal. Hvis det ikke er det du vil, så skal du lægge et div med ind´holdet, så det ikke blander sig med menuerne, men så er det jo lige før det er nemmere med frames.
Avatar billede ras2000 Nybegynder
28. maj 2001 - 14:07 #8
Ups, det ser lidt bedre ud, hvis du lægger det her op i head
<style type=\"text/css\">
.menu    {border-style:solid;border-width:2;color:#ffffff;border-bottom-color:330000;
        border-right-color:330000;border-top-color:ff0000;border-left-color:ff0000;font-weight:bold;background-color:c00000}
</style>
Avatar billede gnyff Nybegynder
29. maj 2001 - 16:24 #9
jo den virker men ikke når jeg sætter den ind på min menu, og den i head virker slet ikke :o(

Det ville måske være nemmere hvis du fik koden?

Her er den ihvertfald :o)

<script language=\"JavaScript1.2\" src=\"coolmenus.js\">

</script>
  <script>





oMenu=new menuObj(\'oMenu\')


oMenu.clMain=\'padding:5px; font-family:verdana; font-size:12px; font-weight:bold\'
oMenu.clSub=\'padding:5px; font-family:verdana; font-size:10px\'
oMenu.clSubSub=\'padding:5px; font-family:verdana; font-size:10px\'
oMenu.clAMain=\'text-decoration:none; color:White\'
oMenu.clASub=\'text-decoration:none; color:White\'
oMenu.clASubSub=\'text-decoration:none; color:White\'


oMenu.backgroundbar=1
oMenu.backgroundbarfromleft=0
oMenu.backgroundbarfromtop=0
oMenu.backgroundbarsize=\"100%\"
oMenu.backgroundbarcolor=\"#505050\"

oMenu.mainheight=25
oMenu.mainwidth=130


oMenu.subwidth=oMenu.mainwidth
oMenu.subheight=20

 



oMenu.makeStyle()

oMenu.subplacement=oMenu.mainheight


oMenu.mainbgcoloroff=\'#505050\'
oMenu.mainbgcoloron=\'#505050\'
oMenu.subbgcoloroff=\'#999999\'
oMenu.subbgcoloron=\'#999999\'

oMenu.stayoncolor=0

oMenu.menuspeed=10
oMenu.menusubspeed=15

oMenu.menurows=1

oMenu.menueventon=\"mouse\"
oMenu.menueventoff=\"mouse\"







oMenu.menuplacement=0


oMenu.pxbetween=20


oMenu.fromleft=20


oMenu.fromtop=0



oMenu.makeMain(0,\'Gnyff\',0) 

    oMenu.makeSub(0,0,\'Om Gnyff\',\'gnyff.html\',5)       
    oMenu.makeSub(0,1,\'Venner\',\'Venner.htm\',5)   
    oMenu.makeSub(0,2,\'Billeder\',\'billeder.htm\',5)
    oMenu.makeSub(0,3,\'Link\',\'link.htm\',5)
    oMenu.makeSub(0,4,\'Kontakt\',\'kontakt.htm\',5)



   
oMenu.makeMain(1,\'Historie\',0)
    oMenu.makeSub(1,0,\'Historie\',\'22januar.htm\',3)
    oMenu.makeSub(1,1,\'Mening\',\'gest.htm\',3)
    oMenu.makeSub(1,2,\'Link\',\'link.htm\',3)
       

oMenu.makeMain(2,\'Div\',0)
    oMenu.makeSub(2,0,\'Gestebog\',\'gest1.htm\',3)
    oMenu.makeSub(2,1,\'Download\',\'download.htm\',3)
    oMenu.makeSub(2,2,\'Andet snavs\',\'andet.htm\',3)
       

oMenu.construct()   
</script>
Avatar billede ras2000 Nybegynder
29. maj 2001 - 16:40 #10
Hm, den kunne jeg ikke bruge til noget, jeg skal vist have coolmenus.js med. Har du siden liggende et sted på nettet, hvor jeg kan se det?
Avatar billede gnyff Nybegynder
29. maj 2001 - 17:22 #11
Hmmm, den ligger under www.belive.dk/beta :o)
Avatar billede ras2000 Nybegynder
29. maj 2001 - 17:32 #12
OK, men jeg forstår ikke hvor det er du vil have menuen ind, uden scroll, osv. Det skulle da ikke være et problem med den side.
Avatar billede gnyff Nybegynder
30. maj 2001 - 10:33 #13
Jo, for når jeg scroller ned køre menuen med teksten, og når man når til bunden af dokumentet skal man scrolle til top for at se menuen igen.

Jeg vil have den til hele tiden at være i toppen af min browser selv om jeg scroller ned. Lige som den du gav mig :o) Men den virker bare ikke på min menu... eller også er det mig der ikke ved hvor jeg skal putte den hen :o)
Avatar billede ras2000 Nybegynder
30. maj 2001 - 10:43 #14
Gnyff, så vidt jeg kan se er din side bygget op med frames. Hvorfor lægger du ikke din menu i en af de frames der øverst? Mht til den kode jeg gav dig, så er jeg lidt lost. Den kode der genererer din menu har jeg ikke kigget igennem, det er den på coolmenus.js. Jeg kan ikke umiddelbart se hvor den placerer din menu henne. Jeg kunne forestille mig at den skaber et div eller layer alt efter om det er ns eller ie, og så skriver menuen ind i den, og så er det inde i .js filen der skal rettes lidt. Derudover kan jeg ikke se hvornår det er der skal scrolles, alle dine sider passer da til skærmen. Jeg prøver at se om jeg kan få fat i .js filen, og få noget fornuftigt ud af det.
Avatar billede ras2000 Nybegynder
30. maj 2001 - 11:00 #15
OK, jeg har kigget på din kode. Jeg går ud fra at det er noget du har klippet et sted fra, hvis du kunne skrive den kode selv, havde du ikke brug for min hjælp. Du får meget svært ved at rette i noget som helst, uden at ødelægge det hele. Til sidst i .js filen er der en function som skriver styles og indhold til menuen. Hvis det skal komme til at virke, skal du lægge et id ind i div tagget, eller et navn. Det er så det id du skal kalde fra den kode jeg skrev længere oppe. Men jeg tror at hvis du prøver at ændre de ting, så vil det hele falde sammen. Det er en temmelig kompliceret stump kode du benytter dig af. Mit råd til dig, og til alle generelt, er at holde dig fra at bruge kode, du ikke har en chance for at kunne forstå. Hvis du vælger at bruge det alligevel, så må du jo acceptere at du ikke kan ændre i funktionaliteten. Lav din egen menu, og så har du jo fuld kontrol over hvad den kan og ikke kan.
Avatar billede gnyff Nybegynder
30. maj 2001 - 12:00 #16
Grunden til at jeg vil have den i den samme frame er fordi at hvis du køre siden i 800x600 så forsvinder de andre frames.

Og ja, jeg har stjålet den et andet sted fra, og ja, så meget kender jeg heller ikke til javascript, men jeg forstår godt koderne der er der, og jeg ved godt at næsten ikke kan ændre i de koder uden at ødelægge noget. Det er også derfor at jeg går herind og spørger, i håb om at du forstod koderne så meget at du kunne lægge den scroll-kode ind så den ikke scrollet med ned.
Avatar billede oskar Nybegynder
30. maj 2001 - 20:35 #17
Her kommer min løsning på et tilsvarende problem, dog bare med et billede der skulle blive i billedet, men du kan sikkert sætte alt muligt andet i i stedet for et billede:

Indsæt i head:

<SCRIPT LANGUAGE=\"JavaScript\">
<!-- Begin
function setVariables() {
if (navigator.appName == \"Netscape\") {
v=\".top=\";
dS=\"document.\";
sD=\"\";
y=\"window.pageYOffset\";
}
else {
v=\".pixelTop=\";
dS=\"\";
sD=\".style\";
y=\"document.body.scrollTop\";
  }
}
function checkLocation() {
object=\"object1\";
yy=eval(y);
eval(dS+object+sD+v+yy);
setTimeout(\"checkLocation()\",10);
}
//  End -->
</script>

Derefter ændres body:

<BODY OnLoad=\"setVariables();checkLocation()\">

Til sidst pakkes din menu ind i  en DIV som denne:

<div id=\"object1\" style=\"position:absolute; visibility:show; left:5px; top:0px; z-index:2\">

Her kommer dine ting
</div>

Avatar billede gnyff Nybegynder
30. maj 2001 - 21:08 #18
Øjjj, det lyder som noget, men kan du ikke prøve at sætte det ind i den kode jeg har lagt op, for når jeg sætter den ind så forsvinder menuen, men det er sikkert fordi jeg sætter det ind det forkerte sted
Avatar billede oskar Nybegynder
30. maj 2001 - 22:27 #19
Bortset fra at den melder fejl i linie 32 position 11 i din kølige .js fil så virker det her:

<HTML>
<HEAD>
<!-- Minus AutoDato -->
    <TITLE>[Ingen titel]</TITLE>
<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3.5\">
<SCRIPT LANGUAGE=\"JavaScript\">
<!-- Begin
function setVariables() {
if (navigator.appName == \"Netscape\") {
v=\".top=\";
dS=\"document.\";
sD=\"\";
y=\"window.pageYOffset\";
}
else {
v=\".pixelTop=\";
dS=\"\";
sD=\".style\";
y=\"document.body.scrollTop\";
  }
}
function checkLocation() {
object=\"object1\";
yy=eval(y);
eval(dS+object+sD+v+yy);
setTimeout(\"checkLocation()\",10);
}
//  End -->
</script>
<SCRIPT TYPE=\"text/javascript\" SRC=\"coolmenus.js\"></SCRIPT>
</HEAD>
<BODY OnLoad=\"setVariables();checkLocation()\">

<div id=\"object1\" style=\"position:absolute; visibility:show; left:5px; top:0px; z-index:2\">

  <script>

oMenu=new menuObj(\'oMenu\')

oMenu.clMain=\'padding:5px; font-family:verdana; font-size:12px; font-weight:bold\'
oMenu.clSub=\'padding:5px; font-family:verdana; font-size:10px\'
oMenu.clSubSub=\'padding:5px; font-family:verdana; font-size:10px\'
oMenu.clAMain=\'text-decoration:none; color:White\'
oMenu.clASub=\'text-decoration:none; color:White\'
oMenu.clASubSub=\'text-decoration:none; color:White\'

oMenu.backgroundbar=1
oMenu.backgroundbarfromleft=0
oMenu.backgroundbarfromtop=0
oMenu.backgroundbarsize=\"100%\"
oMenu.backgroundbarcolor=\"#505050\"

oMenu.mainheight=25
oMenu.mainwidth=130

oMenu.subwidth=oMenu.mainwidth
oMenu.subheight=20

oMenu.makeStyle()

oMenu.subplacement=oMenu.mainheight

oMenu.mainbgcoloroff=\'#505050\'
oMenu.mainbgcoloron=\'#505050\'
oMenu.subbgcoloroff=\'#999999\'
oMenu.subbgcoloron=\'#999999\'

oMenu.stayoncolor=0

oMenu.menuspeed=10
oMenu.menusubspeed=15

oMenu.menurows=1

oMenu.menueventon=\"mouse\"
oMenu.menueventoff=\"mouse\"

oMenu.menuplacement=0

oMenu.pxbetween=20

oMenu.fromleft=20

oMenu.fromtop=0

oMenu.makeMain(0,\'Gnyff\',0) 

        oMenu.makeSub(0,0,\'Om Gnyff\',\'gnyff.html\',5)       
    oMenu.makeSub(0,1,\'Venner\',\'Venner.htm\',5)   
    oMenu.makeSub(0,2,\'Billeder\',\'billeder.htm\',5)
    oMenu.makeSub(0,3,\'Link\',\'link.htm\',5)
    oMenu.makeSub(0,4,\'Kontakt\',\'kontakt.htm\',5)
 
oMenu.makeMain(1,\'Historie\',0)
    oMenu.makeSub(1,0,\'Historie\',\'22januar.htm\',3)
    oMenu.makeSub(1,1,\'Mening\',\'gest.htm\',3)
    oMenu.makeSub(1,2,\'Link\',\'link.htm\',3)

oMenu.makeMain(2,\'Div\',0)
    oMenu.makeSub(2,0,\'Gestebog\',\'gest1.htm\',3)
    oMenu.makeSub(2,1,\'Download\',\'download.htm\',3)
    oMenu.makeSub(2,2,\'Andet snavs\',\'andet.htm\',3)

oMenu.construct()   
</script>

</div>

<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>Legetøj

</BODY>
</HTML>
Avatar billede gnyff Nybegynder
30. maj 2001 - 22:48 #20
Nøjjjjjj, skal vi ikke bare sige at du er en superduper skat :o)

Du fortjæner bare de point :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