Avatar billede morphdk Nybegynder
23. november 2004 - 10:42 Der er 13 kommentarer

Folde-ud menu UDEN java!

Hej,

Jeg skal have lavet en navigations menu, der fungerer på det måde, at hvis man holder musen over et af punkterne, kommer der en undermenu på højre side. Der er masser af denne slags menuer på nettet, men den skal IKKE VÆRE LAVET I JAVA!

Er det virkelig ikke muligt at lave sådan en menu uden at skulle lave den i java?
Avatar billede schaefner Juniormester
23. november 2004 - 10:49 #1
Jo, du kan bruge javascript.

Se f.eks.: http://phoenixv.dk/exp/klik_menu.html

Ved ikke præcis hvad du ønsker, men det må du jo så skrive :)
Avatar billede morphdk Nybegynder
23. november 2004 - 10:53 #2
okay.. så udelukker vi også lige den.. Jeg vil hverken have JAVA, JavaScript eller noget som helst andet, der står bogstaverne J A V A på..

Jeg synes jeg beskriver mit ønske fint nok?
Avatar billede schaefner Juniormester
23. november 2004 - 11:04 #3
Svaret må så være: Ja, det kan godt laves uden Java, men hvis du heller ikke vil ty til JavaScript, så får du umådelig svært ved at lave det.

Med venlig hilsen
Jesper Sørensen
Avatar billede morteeart Nybegynder
23. november 2004 - 11:08 #4
1. Brug javascript, (nej, javascript er ikke java)
2. Du kan også bruge CSS men det virker ikke i Internet Explorer fordi den ikke forstår CSS ordenligt.
Avatar billede morphdk Nybegynder
23. november 2004 - 11:09 #5
Okay, kan nogen så fortælle mig hvordan jeg gør?
Jeg giver ikke point for at få at vide hvor svært det er at lave - det kan jeg jo ikke bruge til noget.
Avatar billede schaefner Juniormester
23. november 2004 - 11:12 #6
Du kan f.eks. kigge på denne: http://alistapart.com/articles/horizdropdowns/

Den gør brug af CSS og brugen af pseudo-klassen hover, men da hover kun virker på links i IE har de også måttet ty til javascript.
Avatar billede morphdk Nybegynder
23. november 2004 - 11:12 #7
Grunden til at jeg ikke vil bruge Java eller JavaScript (som åbenbart ikke har noget med Java at gøre) er, at der er mange virksomheder o.l. der blokerer for Java Applets og JavaScript kode, og dermed ikke kan bruge siden ordentligt..
Avatar billede morphdk Nybegynder
23. november 2004 - 11:15 #8
schaefner >> Det link er lige hvad jeg har ledt efter.. Tak for hjælpen!
Avatar billede morteeart Nybegynder
23. november 2004 - 11:16 #9
check også Skovenborgs hjemmeside ud: http://skovenborg.frac.dk/

Der er også en del om dette emne. (også i CSS)
Avatar billede schaefner Juniormester
23. november 2004 - 11:18 #10
ja, hans menu gør brug af samme princip som på A List Apart
Avatar billede olebole Juniormester
23. november 2004 - 11:18 #11
<ole>

Efter MS kom med deres opdateringer tilbage i april, er der ikke så mange, der disable'er JavaScript længere ... og uden JavaScript er der jo ikke andet tilbage end alm. links, der kan give funktionalitet på en web-side. Derfor kan du ikke lave andet end links, hvis du ikke vil bruge JavaScript  :)

/mvh
</bole>
Avatar billede schaefner Juniormester
01. december 2004 - 08:22 #12
Mpske du skulle lukke spørgsmålet?
Avatar billede kakao-manden Nybegynder
01. april 2005 - 17:33 #13
hvorfor ellers er den her god

<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("Klik her for menuen","");
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[1].child[1] = new Node("MailOfir","http://www.mail.ofir.dk/");
MyNode.child[2] = new Node("javascript","");
MyNode.child[2].child[0] = new Node("script.dk","http://javas.subnet.dk/");

//--></SCRIPT><STYLE>

<!-- OPSÆTNING AF UDSEENDE -->
a {text-decoration: none; color: #0000FF;}
p {text-decoration: none; color: #0000FF;}
</STYLE></HEAD><BODY onLoad="if ( ( NS4 == 1 ) || ( IE4 == 1 ) ) setTimeout('updatemenu()',1)"><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>
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