06. juni 2002 - 23:42
Der er
13 kommentarer og 1 løsning
Bruge variabel fra funktion
Hey folks, Jeg har nu siddet og øv'et lidt over at jeg ikke kan få følgende stykke kode til at spille: function menu_click(name) { if (name.style.display=="none") { name.style.display=""; } else { name.style.display="none"; } } Jeg har en div med id'en test, men når jeg aktiverer "menu_click('test')" går der bare mos i den. Jeg har forsøgt at udskifte name i ovenstående funktion med test - det spiller fint. Mit reelle spørgsmål er altså derfor hvad syntaksen er for at benytte variablen name i ovenstående funktion på den måde jeg ønsker (håber at det er tydeligt at se). På forhånd tak! /Casper PS. Nok et lamt og usandsynligt usselt spørgsmål, men jeg er desværre ikke JavaScript haj ;)
Annonceindlæg fra Pax8
Indholdet af variablen "name" skal altså indsættes der hvor der står "name" eks: if (test.style.display=="none") { Er mit spørgsmål forståeligt?
Altså if (test.style.display=="none") { hvis jeg bruger menu_click('test')...
<script> function funktion(tekst) { document.write(tekst); } </script> <div OnClick="funktion('Rune er for sej!');">klik her</div> //>Rune
I får lige lidt mere kode... <script type="text/JavaScript"> function menu_click(name) { if (name.style.display=="none") { name.style.display=""; } else { name.style.display="none"; } } </script> <div onClick="menu_click('test');">klik her og vis "test"</div> <div id="test" style="display: none;"> tisset virker bare ikke...
<html> <head> <title>Til respac :-)</title> </head> <body> <script language="JavaScript"> function showMnu(id) { var styleCheck = document.getElementById("mnu" + id).style.display; //alert(styleCheck); if (styleCheck == "inline") { document.getElementById("mnu" + id).style.display = "none"; } if (styleCheck == "none") { document.getElementById("mnu" + id).style.display = "inline"; } } function showLink(url) { alert(url); } </script> <div style="Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;" OnClick="showMnu(1);">Foldud1</div> <div style="Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;" id="mnu1"> -<span onClick="showLink('link1menu1')">Link1 Menu1</span><br> -<span onClick="showLink('link2menu1')">Link2 Menu1</span><br> </div> <div style="Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;" OnClick="showMnu(2);">Foldud2</div> <div style="Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;" id="mnu2"> -<span onClick="showLink('link1menu2')">Link1 Menu2</span><br> </div> <div style="Cursor:Hand; Font-Family:Verdana; Font-Size: 13px;" OnClick="showMnu(3);">Foldud3</div> <div style="Cursor:Hand; Font-Family:Verdana; Font-Size: 11px;display:none;" id="mnu3"> -<span onClick="showLink('link1menu3')">Link1 Menu3</span><br> -<span onClick="showLink('link2menu3')">Link2 Menu3</span><br> -<span onClick="showLink('Link3menu3')">Link3 Menu3</span><br> </div> </body> </html> //>Rune
'test' er en streng med et navn i. det du skal have foran . er det objekt 'test' er navnet på: function menu_click(name) { if (document.all[name].style.display=="none") { document.all[name].style.display=""; } else { document.all[name].style.display="none"; } } det er så IE only for at få ns med bliver det noget med at finde objektet separat: function menu_click(name) { var namedObjS = (document.getElementById) ?document.getElementById(name).style :(document.layers) ?document[name] :document.all[name].style; if (namedObjS.display=="none") { namedObjS.style.display=""; } else { namedObjS.style.display="none"; } } mvh JakobA
Ups. skulle have fjernet style. i de to andre linier også: if (namedObjS.display=="none") { namedObjS.display=""; } else { namedObjS.display="none"; }
=>jakoba: medions getElementById-haløj virker fint i NS6...
Ja da. det er nok mest ns4 der er speciel.
07. juni 2002 - 00:38
#10
Ok, meeen... man kan jo også tage hensyn til for mange... ;) Bruger man ns4 burde man vist også til at opdatere :)
07. juni 2002 - 00:39
#11
Jeg bruger derfor bare getElementById... derfor pointfordelingen. Håber det kan accepteres, men tak for dit indlæg JakobA!
07. juni 2002 - 00:42
#12
Thx 4 Poinz //>Rune
07. juni 2002 - 00:43
#13
gelt ok med mig :-))
09. juni 2002 - 15:41
#14
godt godt
Vi tilbyder markedets bedste kurser inden for webudvikling