Avatar billede nil.dk Nybegynder
14. marts 2001 - 08:58 Der er 32 kommentarer og
3 løsninger

Cross-browser menu

Jeg ved at denne her er tæt på umulig, men alligevel.

Jeg skal bruge en DHTML menu hvor underpunkterne kan folde sig ud hvis man vælger hovedpunktet. List a la Stifinder i Windows, men punkterne skal folde sig ind igen hvis man vælger et andet hovedpunkt.

Menuen SKAL være kompatibel med NS&IE 5-6 og gerne 4...
Avatar billede netsrac Praktikant
14. marts 2001 - 09:02 #1
Avatar billede netsrac Praktikant
14. marts 2001 - 09:03 #2
Hov nej misforstod lige, sorry :-)
Avatar billede nil.dk Nybegynder
14. marts 2001 - 09:04 #3
netsrac >> det er okay ;o)
Avatar billede netsrac Praktikant
14. marts 2001 - 09:08 #4
Nu er jeg ikke så stærk i det DHTML, men den de har på http://www.esenet.dk/ må da nok kunne omskrives så den lukker alle andre når man åbner en ny ?
Avatar billede nil.dk Nybegynder
14. marts 2001 - 09:10 #5
Den virker desværre ikke i NS6.
Avatar billede netsrac Praktikant
14. marts 2001 - 09:14 #6
Typisk, men den virker garanteret i 4.5 :-)
Avatar billede jensgram Nybegynder
14. marts 2001 - 09:30 #7
Du kan tage en kigger på http://www.whitehat.dk/tage/ der er en menu, der godt nok kun virrker i IE, men den kan ændres så den også duer i NS. Det er også let at få den til at lukke andre menuer, når man åbner én. (Lidt for() / if() mm)
Avatar billede nil.dk Nybegynder
14. marts 2001 - 09:34 #8
mr noname >> Jeg skal helst bruge noget der VIRKER i alle ovennævnte browsere.. derfor overskiften Cross Browser!!!

Jeg har ikke selv på nuværende tidspunkt de nødvendige kompetencer til at tilpasse en menu, derfor oprettede jeg dette spm.
Avatar billede jensgram Nybegynder
14. marts 2001 - 11:01 #9
Nej, det er selvfølgelig klart. Jeg skal nok prøve at tilpasse den når jeg kommer hjem (omkring klokken fire eller så\'n). Jeg ville egnetllig bare høre, om det var noget i den retning, du er interesseret i.
Avatar billede nil.dk Nybegynder
14. marts 2001 - 11:02 #10
Det er helt sikkert noget i den stil jeg leder efter...
Avatar billede jensgram Nybegynder
14. marts 2001 - 16:12 #11
<html>
<head>
<script>
function lag(hvilket){

if(document.all){ // IE
document.all[\'lagET\'].style.display=\'none\';
document.all[\'lagTO\'].style.display=\'none\';
document.all[\'lagTRE\'].style.display=\'none\';
document.all[hvilket].style.display=\'block\';
}
if(document.layers){ // NS
document.layers[\'lagET\'].visibility=\'hide\';
document.layers[\'lagTO\'].visibility=\'hide\';
document.layers[\'lagTRE\'].visibility=\'hide\';
document.layers[hvilket].visibility=\'show\';
}
}
</script>
</head>
<body>
<span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span><br>
<div id=\"lagET\" style=\"display:none;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<span onclick=\"lag(\'lagTO\');\" style=\"cursor:hand;\"><b>lagTO</b></span><br>
<div id=\"lagTO\" style=\"display:none;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<span onclick=\"lag(\'lagTRE\');\" style=\"cursor:hand;\"><b>lagTRE</b></span><br>
<div id=\"lagTRE\" style=\"display:none;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>
</body>
</html>


Dette virker helt fint. Du skal bare tilføje en ny linje i scriptet (der hvor der står document.all[xxx].blabla OG document.layers[xxx].blabla) med navnet på dit lag, hvis du skal lave flere. Så slipper man for rod med koden, da man slipper for løkker, der ødelægger andre designmæssige ting!

Håber du kan bruge det
Avatar billede jensgram Nybegynder
14. marts 2001 - 16:13 #12
Nå nej, sådan:


<html>
<head>
<script>
function lag(hvilket){

if(document.all){ // IE
document.all[\'lagET\'].style.display=\'none\';
document.all[\'lagTO\'].style.display=\'none\';
document.all[\'lagTRE\'].style.display=\'none\';
document.all[hvilket].style.display=\'block\';
}
if(document.layers){ // NS
document.layers[\'lagET\'].visibility=\'hide\';
document.layers[\'lagTO\'].visibility=\'hide\';
document.layers[\'lagTRE\'].visibility=\'hide\';
document.layers[hvilket].visibility=\'show\';
}
}
</script>
</head>
<body>
<span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span><br>
<div id=\"lagET\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<span onclick=\"lag(\'lagTO\');\" style=\"cursor:hand;\"><b>lagTO</b></span><br>
<div id=\"lagTO\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<span onclick=\"lag(\'lagTRE\');\" style=\"cursor:hand;\"><b>lagTRE</b></span><br>
<div id=\"lagTRE\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>
</body>
</html>


Dette virker helt fint. Du skal bare tilføje en ny linje i scriptet (der hvor der står document.all[xxx].blabla OG document.layers[xxx].blabla) med navnet på dit lag, hvis du skal lave flere. Så slipper man for rod med koden, da man slipper for løkker, der ødelægger andre designmæssige ting!

Håber du kan bruge det
Avatar billede nil.dk Nybegynder
16. marts 2001 - 09:02 #13
mr_noname >>

Kan jeg ikke få dig til at sende scriptet via mail: info@nil.dk ?

Hvis jeg kopierer scriptet her fra siden får jeg en masse ekstra tags med ;o(
Avatar billede netsrac Praktikant
16. marts 2001 - 10:47 #14
nil.dk >> Du skal bare kopiere det over i notesblok først.
Avatar billede nil.dk Nybegynder
16. marts 2001 - 10:50 #15
netsrac >> cool.. du får lidt af pointene for det.
Avatar billede nil.dk Nybegynder
16. marts 2001 - 10:55 #16
mr_noname >> sorry men den virker ikke i NS6
Avatar billede netsrac Praktikant
16. marts 2001 - 11:15 #17
Dette burde kunne få den til at virke i NS6 også:

<html>
<head>
<script>
function lag(hvilket){

if(document.all){ // IE
document.all[\'lagET\'].style.display=\'none\';
document.all[\'lagTO\'].style.display=\'none\';
document.all[\'lagTRE\'].style.display=\'none\';
document.all[hvilket].style.display=\'block\';
}
if(document.layers){ // NS
document.layers[\'lagET\'].visibility=\'hide\';
document.layers[\'lagTO\'].visibility=\'hide\';
document.layers[\'lagTRE\'].visibility=\'hide\';
document.layers[hvilket].visibility=\'show\';
}
if (document.getElementById && !IE4) {  // Netscape 6.0 og op
document.getElementById(\"lagET\").style.visibility = \'hide\';
document.getElementById(\"lagTO\").style.visibility = \'hide\';
document.getElementById(\"lagTRE\").style.visibility = \'hide\';
document.getElementById(hvilket).style.visibility = \'show\';

}


}
</script>
</head>
<body>
<span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span><br>
<div id=\"lagET\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<span onclick=\"lag(\'lagTO\');\" style=\"cursor:hand;\"><b>lagTO</b></span><br>
<div id=\"lagTO\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<span onclick=\"lag(\'lagTRE\');\" style=\"cursor:hand;\"><b>lagTRE</b></span><br>
<div id=\"lagTRE\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>
</body>
</html>
Avatar billede netsrac Praktikant
16. marts 2001 - 11:16 #18
Nej sådan her:

<html>
<head>
<script>
function lag(hvilket){

if(document.all){ // IE
document.all[\'lagET\'].style.display=\'none\';
document.all[\'lagTO\'].style.display=\'none\';
document.all[\'lagTRE\'].style.display=\'none\';
document.all[hvilket].style.display=\'block\';
}
if(document.layers){ // NS
document.layers[\'lagET\'].visibility=\'hide\';
document.layers[\'lagTO\'].visibility=\'hide\';
document.layers[\'lagTRE\'].visibility=\'hide\';
document.layers[hvilket].visibility=\'show\';
}
if (document.getElementById && !document.all) {  // Netscape 6.0 og op
document.getElementById(\"lagET\").style.visibility = \'hide\';
document.getElementById(\"lagTO\").style.visibility = \'hide\';
document.getElementById(\"lagTRE\").style.visibility = \'hide\';
document.getElementById(hvilket).style.visibility = \'show\';

}


}
</script>
</head>
<body>
<span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span><br>
<div id=\"lagET\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<span onclick=\"lag(\'lagTO\');\" style=\"cursor:hand;\"><b>lagTO</b></span><br>
<div id=\"lagTO\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<span onclick=\"lag(\'lagTRE\');\" style=\"cursor:hand;\"><b>lagTRE</b></span><br>
<div id=\"lagTRE\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>
</body>
</html>
Avatar billede nil.dk Nybegynder
16. marts 2001 - 11:18 #19
netsrac >> det gør ingen forskel ;o(
Avatar billede netsrac Praktikant
16. marts 2001 - 11:31 #20
Får du en fejl eller sker der bare intet ?
Avatar billede nil.dk Nybegynder
16. marts 2001 - 11:32 #21
Der sker det at de 3 menupunkter kommer op, men de er ikke klikbare.
Avatar billede netsrac Praktikant
16. marts 2001 - 11:41 #22
Prøv at sætte et anker om:

<a href=\"java script:void(null)\" onclick=\"lag(\'lagET\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagET\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<a href=\"java script:void(null)\" onclick=\"lag(\'lagTO\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagTO\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<a href=\"java script:void(null)\" onclick=\"lag(\'lagTRE\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagTRE\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
Avatar billede nil.dk Nybegynder
16. marts 2001 - 11:44 #23
Desværre.. menuen folder sig stadig ikke ud.
Avatar billede netsrac Praktikant
16. marts 2001 - 11:47 #24
NS 6 er sq ikke til at regne med :-)
Prøv:
<a href=\"java script:lag(\'lagTRE\');\">
Avatar billede jensgram Nybegynder
16. marts 2001 - 16:06 #25
Jeg har gudskelov ikke NS6, men jeg kan da se, at den er rimelig uberegnelig.
Avatar billede jensgram Nybegynder
16. marts 2001 - 16:09 #26
jeg mener dog, at netsrac\'s bud er fint:

<a href=\"javascreipt:lag(\'lagET\');\">
Avatar billede engrob Nybegynder
18. marts 2001 - 15:07 #27
Det hedder ikke show og hide i ns6, men visible og hidden. Desuden tror jeg måske godt man kan skrive style.display=\'none\' osv.
Avatar billede jensgram Nybegynder
18. marts 2001 - 16:01 #28
Jeg ved det ikke, men det er helt sikkert, at hvis det hedder visible og hidden, så er der en fejl - prøv dette:

<html>
<head>
<script>
function lag(hvilket){

if(document.all){ // IE
document.all[\'lagET\'].style.display=\'none\';
document.all[\'lagTO\'].style.display=\'none\';
document.all[\'lagTRE\'].style.display=\'none\';
document.all[hvilket].style.display=\'block\';
}
if(document.layers){ // NS
document.layers[\'lagET\'].visibility=\'hide\';
document.layers[\'lagTO\'].visibility=\'hide\';
document.layers[\'lagTRE\'].visibility=\'hide\';
document.layers[hvilket].visibility=\'show\';
}
if (document.getElementById && !IE4) {  // Netscape 6.0 og op
document.getElementById(\"lagET\").style.visibility = \'hidden\';
document.getElementById(\"lagTO\").style.visibility = \'hidden\';
document.getElementById(\"lagTRE\").style.visibility = \'hidden\';
document.getElementById(hvilket).style.visibility = \'visible\';

}


}
</script>
</head>
<body>
<a href=\"java script:void(null)\" onclick=\"lag(\'lagET\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagET\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<a href=\"java script:void(null)\" onclick=\"lag(\'lagTO\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagTO\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<a href=\"java script:void(null)\" onclick=\"lag(\'lagTRE\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagTRE\" style=\"display:none;visibility:hide;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a> </div>
</body>
</html>


Så kan du eventuelt prøve display senere.... (Nu håber jeg, det virker ;-[)
Avatar billede jensgram Nybegynder
18. marts 2001 - 16:03 #29
UPS. Man skal selvfølgelig oxo bruge visibility=hidden|visible i den ovenover
Avatar billede jensgram Nybegynder
18. marts 2001 - 16:04 #30
NEJ nu roder jeg fand***:

VÆRSGO::::


<html>
<head>
<script>
function lag(hvilket){

if(document.all){ // IE
document.all[\'lagET\'].style.display=\'none\';
document.all[\'lagTO\'].style.display=\'none\';
document.all[\'lagTRE\'].style.display=\'none\';
document.all[hvilket].style.display=\'block\';
}
if(document.layers){ // NS
document.layers[\'lagET\'].visibility=\'hidden\';
document.layers[\'lagTO\'].visibility=\'hidden\';
document.layers[\'lagTRE\'].visibility=\'hidden\';
document.layers[hvilket].visibility=\'visible\';
}
if (document.getElementById && !IE4) {  // Netscape 6.0 og op
document.getElementById(\"lagET\").style.visibility = \'hidden\';
document.getElementById(\"lagTO\").style.visibility = \'hidden\';
document.getElementById(\"lagTRE\").style.visibility = \'hidden\';
document.getElementById(hvilket).style.visibility = \'visible\';

}


}
</script>
</head>
<body>
<a href=\"java script:void(null)\" onclick=\"lag(\'lagET\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagET\" style=\"display:none;visibility:hidden;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<a href=\"java script:void(null)\" onclick=\"lag(\'lagTO\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagTO\" style=\"display:none;visibility:hidden;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a>
</div>

<a href=\"java script:void(null)\" onclick=\"lag(\'lagTRE\');\"><span onclick=\"lag(\'lagET\');\" style=\"cursor:hand;\"><b>LagET</b></span></a><br>
<div id=\"lagTRE\" style=\"display:none;visibility:hidden;\">
&nbsp;&nbsp;<a href=\"side1.html\">Side1</a><br>
&nbsp;&nbsp;<a href=\"side2.html\">Side2</a><br>
&nbsp;&nbsp;<a href=\"side3.html\">Side3</a> </div>
</body>
</html>
Avatar billede netsrac Praktikant
18. marts 2001 - 16:06 #31
mr_noname >> Det hedder show / hide i NS, men ikke i NS6
Avatar billede jensgram Nybegynder
18. marts 2001 - 19:32 #32
OK - kender ikke NS6 (eller de andre). Jeg regner dog med, at at nil.dk selv lige kan rette det, da der er ved at være lidt mange forslag
Avatar billede nil.dk Nybegynder
19. marts 2001 - 08:46 #33
Jeg skrev jo ligesom i spørgsmålet at den skulle være kompatibel med bl.a. NS6 !!!
Avatar billede nil.dk Nybegynder
19. marts 2001 - 08:47 #34
Jeg kan ikke hitte rede i de mange forslag/rettelser.

Kan én af jer komme med et script, der virker i de nævnte browsere.. hvis ikke giver jeg jer lidt for indsatsen og lukker spm.
Avatar billede nil.dk Nybegynder
19. marts 2001 - 13:24 #35
!
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