Avatar billede boiii Nybegynder
20. december 2001 - 13:49 Der er 7 kommentarer og
1 løsning

Layers,hide og show

Jeg har 2 layers:

<LAYER NAME=\"Menu\">
<p><a href=\"java script:open();\">Priskred.bilag</a></p>
</LAYER>

<LAYER NAME=\"Vismenu\" LEFT=5 TOP=55>
    <p>&nbsp;&nbsp;&nbsp; <a href=\"http://\">Samleopgørelse (kort)</a></p>
    <p>&nbsp;&nbsp;&nbsp; <a href=\"http://\">Leverandør/vare (lang)</a></p>
</LAYER>
Ved click på <a href=\"java script:open();\"> vil jeg gerne have at vismenu layer vises ellers skal den være gemt:

<script>
document.layers[Vismenu].visibility=\'hide\'
function open()

{
    document.layers[Vismenu].visibility=\'show\')
}
</script>

For det første ved jeg ikk om jeg har gjort det rigtigt, og nr 2 ved ikke hvorfor den kommer op og siger at vismenu ikke er defineret?? Help me Obi Wan
Avatar billede lerchedahl Nybegynder
20. december 2001 - 13:55 #1
\' name=\"vismenu\" \' skal være \' id=\"vismenu\" \'
Avatar billede boiii Nybegynder
20. december 2001 - 13:59 #2
<LAYER ID=\"Vismenu\" LEFT=5 TOP=55>

Du mener sådan?Har gjort d men d hjælper ikk??
Avatar billede nikolajdu Nybegynder
20. december 2001 - 14:01 #3
Det er nu ligegyldigt om det er name eller ID. Godt nok er name udgået og ID anbefalet, men det burde virke.

Tilgengæld er det ikke en variabel, men et navn så husk \' \'

layers[\'Vismenu\'].

husk også at document.layers kun fungerer i Netscape 4.x
Avatar billede boiii Nybegynder
20. december 2001 - 14:01 #4
Hr ikke noget at gøre med hvilken browser man bruger er det?Jeg bruger IE
Avatar billede boiii Nybegynder
20. december 2001 - 14:02 #5
Hva gør man så i IE???Hvis jeg gerne vil gemme et layer?Og vise det frem ved click?
Avatar billede nikolajdu Nybegynder
20. december 2001 - 14:07 #6
i IE hedder det document.all (IE 4) eller document.getElementById (IE 5, 5.5, 6.0 og Netscape 6.0

Du kn gøre sådan her:

<html>
<head>
    <title>Untitled</title>     
<script language=\"javascript\">   
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ie5 =(document.getElementById)? true:false
ns6 = (document.getElementById && !document.all)?true:false;

function over(id){
var styleObj = (ns4)? document.layers[id] : (ie4)? document.all[id].style : document.getElementById(id).style;
styleObj.visibility = \"visible\";
}

function ud(id){
var styleObj = (ns4)? document.layers[id] : (ie4)? document.all[id].style : document.getElementById(id).style;
styleObj.visibility = \"hidden\";
}

</script>
</head>

<body>
<a href=\"#\" onMouseover=\"over(\'lag\')\" onMouseout=\"ud(\'lag\')\">kuk</a>

<div id=\"lag\" name=\"lag\" style=\"position: absolute; left:50; top:50; width: 200; height:100; z-index: 3; visibility: hidden\">Denne tekst vises n&aring;r der klikkes</div>

</body>
</html>
Avatar billede boiii Nybegynder
20. december 2001 - 14:12 #7
Istedet for onMouseover kan man godt bruge onClick handleren??
Avatar billede nikolajdu Nybegynder
20. december 2001 - 14:25 #8
Yes det bestemmer du helt selv.

du viser et bestemt lag ved at skrive : onclick=\"over(\'lagets_navn\')\"
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