Avatar billede ofirpeter Nybegynder
06. juli 2006 - 10:05 Der er 6 kommentarer og
2 løsninger

Show / Hide layer

Jeg sidder og arbejder med at fjerne/vise et layer. Det fungerer fint. Jeg ville dog gerne at mit layer var væk fra start. En mulighed er at sætte en onload i bodyen, men det er bare ikke kønt at man kan se den forsvinder når siden bliver loadet.
Hvordan kan det ellers lade sig gøre?

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">Test</div>

<a href="#" onClick="showHideLayers('Layer1');return false;">klik</a>
Avatar billede Slettet bruger
06. juli 2006 - 10:14 #1
Til dette kan du bruge style: <div id="Layer1" style="visibility: hidden;">Test</div>.

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" style="visibility: hidden;">Test</div>

<a href="#" onClick="showHideLayers('Layer1');return false;">klik</a>


/1.
Avatar billede mm12010 Nybegynder
06. juli 2006 - 10:15 #2
du kan evt. bare style det:

<div id="Layer1" style="visibility:hidden;">Test</div>
Avatar billede ofirpeter Nybegynder
06. juli 2006 - 10:40 #3
Det virker! - næsten. Der opstår det mærkelige problem, at jeg skal trykke to gange på min submitknap, før mit layer kommer til syne?

<input name="submit" type="submit" value="Tilf&oslash;j billede" onClick="showHideLayers('Layer1');return false;">
Avatar billede mm12010 Nybegynder
06. juli 2006 - 10:49 #4
du kan ændre din funktion lidt:

function showHideLayers(layerID) {
  var ls=document.getElementById(layerID).style;
  ls.visibility=(ls.visibility=="hidden")?"visible":"hidden";
}
Avatar billede ofirpeter Nybegynder
06. juli 2006 - 10:51 #5
Super, nu blev den dog lidt uoverskuelig at dele op. Hvis du vil fortælle mig hvordan jeg deler den op i både en show og en hide funktion (så de kan kaldes hver for sig), skal jeg lade være at plage dig mere :)
Avatar billede mm12010 Nybegynder
06. juli 2006 - 12:28 #6
dele op? hvad mener du? sådan?

function hideLayers(layerID) {
  document.getElementById(layerID).style.visibility="hidden";
}

function showLayers(layerID) {
  document.getElementById(layerID).style.visibility="visible";
}
Avatar billede ofirpeter Nybegynder
06. juli 2006 - 12:53 #7
Præcis. Mange tak.
Avatar billede mm12010 Nybegynder
06. juli 2006 - 12:55 #8
selv tak :o)
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