Avatar billede doodoo Novice
27. september 2006 - 01:22 Der er 3 kommentarer og
1 løsning

Show/Hide viser underlig fejl

Hey...

Jeg har dette JS:
<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 showhide(id){
if (ns4){
if (document.layers[id].visibility == "show")
document.layers[id].visibility = "hide";
else
document.layers[id].visibility = "show";
}else if (ns6) {
alert('n60')
if (document.getElementById(id).style.visibility == "visible")
document.getElementById(id).style.visibility = "hidden";
else
document.getElementById(id).style.visibility = "visible";
} else if (ie5) {
if (document.getElementById(id).style.visibility == "visible")
document.all[id].style.visibility = "hidden";
else
document.all[id].style.visibility = "visible";
}else if (ie4) {
if (document.all[id].style.visibility == "visible")
document.all[id].style.visibility = "hidden";
else
document.all[id].style.visibility = "visible";
}
}

function show(id) {
    if (ns4) document.layers[id].visibility = "show"
    else if (ie4) document.all[id].style.visibility = "visible"
}

function hide(id) {
    if (ns4) document.layers[id].visibility = "hide"
    else if (ie4) document.all[id].style.visibility = "hidden"
}

    </script>

og tilsvarende:

onClick="showhide('cloudinfo')"

til mine links... Når jeg er i FireFox (på mac - ikke testet på PC endnu) kommer der en "alert" der siger n60

Hvad er nu det for noget rod?
Nogen bud?
Avatar billede doodoo Novice
27. september 2006 - 01:24 #1
Ja hvis jeg fx. blot fjerner
alert('n60') kommer den ikke - men nogen der kan fortælle mig HVORFOR den skal sige det?

Jeg fatter HAT af JS ;)
Avatar billede mclemens Nybegynder
27. september 2006 - 01:46 #2
Det er en der har sat den for at checke om det var netscape der blev brugt ...
... Når det er sagt føler jeg ikke du behøver at tage hensyn til IE 4 og
Netscape 4 som måske ikke ville vise siden ordentligt alligevel ...

Så jeg vil anbefale:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function showhide(id,t){
e=document.getElementById(id).style;
e.visibility=(t==0)?"visible":(t==1)?"hidden":(e.visibility=="hidden")?"visible":"hidden";
}
</script>

</head><body>

<b onclick="showhide('cloudinfo',0)">Vis</b><br>

<b onclick="showhide('cloudinfo',1)">Skjul</b><br>

<b onclick="showhide('cloudinfo',2)">Vis / skjul</b><br><br><br>

<div id="cloudinfo">a</div>
</body></html>





eller hvis du senere vælger at bruge display:

<script type="text/javascript">
function showhide(id,t){
e=document.getElementById(id).style;
e.display=(t==0)?"block":(t==1)?"none":(e.display=="none")?"block":"none";
}
</script>
Avatar billede doodoo Novice
27. september 2006 - 08:07 #3
Det var noget mere simpelt - tester det lige når jeg kommer hjem :]
Avatar billede mclemens Nybegynder
26. oktober 2006 - 22:11 #4
Tak for point :)
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