Avatar billede mik789 Nybegynder
30. maj 2002 - 12:42 Der er 7 kommentarer og
1 løsning

vise / skjule lag

Hvordan skal css og script se ud til følgende:

<div id="lag00">Dette lag er synligt når siden loades</div>
<div id="lag01">Dette lag vises i stedet ved onclick01</div>
<div id="lag02">Dette lag vises i stedet ved onclick02</div>
<div id="lag03">Dette lag vises i stedet ved onclick03</div>
[osv.]

Alle lag er positioneret absolut med nøjagtig samme position. Det skal være muligt at vise lagene i enhver rækkefølge (f.eks. lag01 efter lag03).

/mik
Avatar billede mik789 Nybegynder
30. maj 2002 - 12:45 #1
onclick foregår et andet sted på siden, f.eks. i en <span> omrking et ord
Avatar billede speedy Nybegynder
30. maj 2002 - 12:49 #2
Du kan bare sige onclick01

document.all['lag01'].style.zIndex = 100;

Så kommer lag01 forrest... zIndex angiver i hvilken "højde" elementet skal ligge i....

/SpEeDy
Avatar billede mik789 Nybegynder
30. maj 2002 - 12:54 #3
speedy> jamen hvis alle lagene har samme z-index kan jeg da ikke vise dem i enhver rækkefølge???
Avatar billede lyhr007 Nybegynder
30. maj 2002 - 13:09 #4
sæt deres display til none

<script>
function setVisible(old,id) {
  if (old != null) {
    obj = document.getElementById(old);
    obj.style.display = 'none';
  }
  obj = document.getElementById(id);
  obj.style.display = 'block';
  // På grund af fejl i IE skal du nok sætte den til '' istedet.
}
</script>

<div id="lag1" style="display: none">1</div>
<div id="lag2" style="display: none">2</div>
<div id="lag3" style="display: none">3</div>
<div id="lag4" style="display: none">4</div>
<div id="lag5" style="display: none">5</div>

<script>
// Sæt den første der skal vises.
setVisible(null, 'lag3');
</script>
Avatar billede pelkjaer Nybegynder
30. maj 2002 - 13:37 #5
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
#lag00 {
    color: #000000;
    background-color: #CCCCCC;
    z-index: 1;
}

#lag01 {
    color: #000000;
    background-color: #CCCCCC;
    z-index: 2;
}

#lag02 {
    color: #000000;
    background-color: #CCCCCC;
    z-index: 3;
}
</style>
<script type="text/javascript">
function findObj(theObj, theDoc)
{
  var p, i, foundObj;
 
  if(!theDoc) theDoc = document;
  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  {
    theDoc = parent.frames[theObj.substring(p+1)].document;
    theObj = theObj.substring(0,p);
  }
  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  for (i=0; !foundObj && i < theDoc.forms.length; i++)
    foundObj = theDoc.forms[i][theObj];
  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)
    foundObj = findObj(theObj,theDoc.layers[i].document);
  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
 
  return foundObj;
}

function showHideLayers()
{
  var i, visStr, obj, args = showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
  {
    if ((obj = findObj(args[i])) != null)
    {
      visStr = args[i+2];
      if (obj.style)
      {
        obj = obj.style;
        if(visStr == 'show') visStr = 'visible';
        else if(visStr == 'hide') visStr = 'hidden';
      }
      obj.visibility = visStr;
    }
  }
}
</script>
</head>
<body>

<div id="lag00" style="visibility:visible">Dette lag er synligt når siden loades</div>
<div id="lag01" style="visibility:hidden">Dette lag vises i stedet ved onclick01</div>
<div id="lag02" style="visibility:hidden">Dette lag vises i stedet ved onclick02</div>

<span>
<a href="java script:;" onclick="showHideLayers('lag01','','show','lag00','','hide','lag02','','hide');">Vis layer 01</a><br>
<a href="java script:;" onclick="showHideLayers('lag02','','show','lag00','','hide','lag01','','hide');">Vis layer 02</a>
</span>
<p>Osv. osv. osv.</p>

</body>
</html>
Avatar billede mik789 Nybegynder
30. maj 2002 - 14:13 #6
pelkjaer> TAK! Jeg tænkte nok det var noget mere indviklet end eksemplet på: http://activedeveloper.dk/aspdigital/2002041101.asp

Men nu prøver jeg lige og så vender jeg tilbage engang i aften.
Avatar billede mik789 Nybegynder
31. maj 2002 - 09:11 #7
det blev engang i morgen tidlig. det fungerer helt som det skal.
Avatar billede pelkjaer Nybegynder
31. maj 2002 - 10:27 #8
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