17. november 2002 - 20:50
Der er
8 kommentarer og
1 løsning
skift layer via knap
Hvordan laver man f.eks. 3 layers, som skifter ved at man trykker på den knap/link som tilhøre det pågældende layer.
Dvs. teksten skifter alt efter hvilken knappe man har trykket på.
Skal gerne virke i både IE og netscape.
17. november 2002 - 21:09
#2
eller måske dette, lavet med Dreamweaver, så man, hvis man ikke vil håndkode, har en WYSIWYG løsning
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
</head>
<body>
<p><a href="#" onClick="MM_showHideLayers('Layer3','','hide','Layer2','','hide','Layer1','','show')">Lag 1</a><br>
<a href="#" onClick="MM_showHideLayers('Layer3','','hide','Layer2','','show','Layer1','','hide')">Lag 2</a><br>
<a href="#" onClick="MM_showHideLayers('Layer3','','show','Layer2','','hide','Layer1','','hide')">Lag 3</a></p>
<div id="Layer3" style="position:absolute; width:200px; height:115px; z-index:3; left: 25px; top: 125px; visibility: hidden;">Her
er lag 3</div>
<div id="Layer2" style="position:absolute; width:200px; height:115px; z-index:2; left: 25px; top: 125px; visibility: hidden;">Her
er lag 2</div>
<div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 25px; top: 125px; visibility: hidden;">Her
er lag 1</div>
<p> </p>
</body>
</html>
17. november 2002 - 22:46
#4
ztyxx> jeg har aldrig forstået hvor det Dreamweever script arbejder med tre argumenter for hvert lag hvor af det midterste er tomt. Altså f.eks.:
'Layer3','','show','Layer2','','hide','Layer1','','hide'
Her er der tre lag med hver tre argumenter, hvoraf det midterste er tomt. Hvis man trækker 1 fra alle tallene i showHideLayers funktionen, altså:
for (i=0; i<(args.length-1); i+=2) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+1];
Kan man nøjes med to argumenter i hvert led, altså:
'Layer3','show','Layer2','hide','Layer1','hide'
Hvis der er mange lag, og man sidder og laver det i hånden, kan det godt betale sig - tro mig!