Avatar billede hansen Nybegynder
15. marts 2009 - 16:04 Der er 4 kommentarer og
1 løsning

Show hide layer ved checkbox

Hej, jeg har brug for en lille ombygning af nedenstående script så det som standard er lukket i <div id="Layer1">, og bliver aktivier / deaktiveret ved hjælp af et checkbox felt istedet for et link.

Kan du hjælpe mig?
Tak

----

var shown = false;

function showHideLayers(layerID) {
  if (document.getElementById) {
    if (!shown) {
      document.getElementById(layerID).style.visibility = "hidden";
    }
    if (shown) {
      document.getElementById(layerID).style.visibility = "visible";
    }
  }
  shown = !shown;
}

<div id="Layer1">Antonio</div>
<a href="#" onClick="showHideLayers('Layer1');return false;">klik</a>
Avatar billede jhe-ting Nybegynder
16. marts 2009 - 20:45 #1
Måske kan du bruge

  ... style.display="none";

og

  ... style.display="";

i stedet for visibility.
Avatar billede jhe-ting Nybegynder
30. marts 2009 - 17:06 #2
Dette er måske det du vil:


function showHideLayers(cBox,layerID) {
  if (document.getElementById) {
    var shown = cBox.checked;
    if (!shown) {
      document.getElementById(layerID).style.visibility = "hidden";
    }
    if (shown) {
      document.getElementById(layerID).style.visibility = "visible";
    }
  }
}

<div id="Layer1" style="visibility:hidden">Antonio</div>
<input type="checkbox" onchange="showHideLayers(this,'Layer1');return false;">klik
Avatar billede hansen Nybegynder
22. maj 2009 - 15:59 #3
Hej, beklager den meget lange svartid!
Havde helt glemt spørgsmålet.

Jeg har forsøgt mig med dette, men det virker ikke?
Nogen der har et godt svar på dette ?
---
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type" />
<title>Untitled 1</title>
<script language="javascript">
function showHideLayers(cBox,layerID) {
  if (document.getElementById) {
    var shown = cBox.checked;
    if (!shown) {
      document.getElementById(layerID).style.visibility = "hidden";
    }
    if (shown) {
      document.getElementById(layerID).style.visibility = "visible";
    }
  }
}
</script>
</head>

<body>
<div id="Layer1" style="visibility:hidden">Antonio</div>
<form method="post" action="">
<input type="checkbox" onchange="showHideLayers(this,'Layer1');return false;">klik
</form></body>

</html>

---
Avatar billede hansen Nybegynder
24. maj 2009 - 21:38 #4
Fandt lige ud af at det øverste eksempler virker fint i Fireføx men ikke i IE 7?

Er der noget der ikke er kompatibelt med IE7 i koden?
Avatar billede ebusiness Nybegynder
24. maj 2009 - 22:34 #5
onchange er eh 'inkonsistent' i IE. onclick burde kunne gøre det i dette tilfælde.
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

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