Ich komm im Moment nicht weiter
Reiner Wirth
- javascript
2
Struppi
Hallo,
ich möchte ein Javascript verwenden, um Ebenen zu vertauschen, in einem kleinen Beispiel sieht das so aus:
<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script language="JavaScript1.2" name="Ebene rauf"><!--
var zTop=0;
function topLifter(idEbene)
{
zTop=zTop+1;
document.getElementById(idEbene).style.zIndex=zTop;
}
//-->
</script>
</head>
<body onload="CSScriptInit();" bgcolor="#ffeecc">
<div style="background-color: #cccccc; visibility: visible; display: block; position: absolute; z-index: 1; top: 110px; left: 50px; width: 100px; height: 100px;" id="ebene1" onmouseover="topLifter('ebene1')"></div>
<div style="background-color: #888; visibility: visible; display: block; position: absolute; z-index: 2; top: 80px; left: 90px; width: 100px; height: 100px;" id="ebene2" onmouseover="topLifter('ebene2')"></div>
<div style="background-color: #333; visibility: visible; display: block; position: absolute; z-index: 3; top: 50px; left: 130px; width: 100px; height: 100px;" id="ebene3" onmouseover="topLifter('ebene3')"></div>
</body></html>
Damit das Programm arbeitet, muss ein beliebiger Anfangswert z.B.
var zTop=0;
gesetzt werden
warum das auch mit negativen Werten geht, verstehe ich nicht, aber darum geht es mir im Moment nicht.
Ich komme nicht weiter, weil ich diese Funktion für eine größere Seite mit vielen solcher Ebenen benutzen will. Ich wollte goLive benutzen und dort eine Funktion topLifter erzeugen, die ich immer wieder an vielen anderen Stellen aufrufen kann, um jeweils die aktuelle Ebene nach oben zu bringen.
Woran ich scheitere ist der Anfangswert.
Ich schaffe es nicht, ihn so zu initialisieren, dass die Funktion, wenn sie zum ersten Mal aufgerufen wird mit (irgend) einem Wert anfängt. Wenn ich sie weglasse tut sich gar nichts, wenn ich sie vor den Funktionsaufruf stelle, kann goLive sie nicht einbinden.
Kann mir da jemand helfen? Das wäre super!
Reiner Wirth
Erstmal prinzipiell
<script language="JavaScript1.2" name="Ebene rauf"><!--
fehlt hier das type Attribut und um ein Script Element ein name Attribut besitzen darf weiß ich nicht, vermute aber nein.
var zTop=0;
function topLifter(idEbene)
{
zTop=zTop+1;
document.getElementById(idEbene).style.zIndex=zTop;
}
so wie das ganze aufgebaut ist, brauchst du getElementById gar nicht.
<div style="background-color: #cccccc; visibility: visible; display: block; position: absolute; z-index: 1; top: 110px; left: 50px; width: 100px; height: 100px;" id="ebene1" onmouseover="topLifter('ebene1')"></div>
Du kannst stat 'ebene1' this übergeben und damit direkt in der Funktion arbeiten.
Damit das Programm arbeitet, muss ein beliebiger Anfangswert z.B.
var zTop=0;
gesetzt werden
So wie es jetzt ist, ja.
warum das auch mit negativen Werten geht, verstehe ich nicht, aber darum geht es mir im Moment nicht.
Gehen ist relativ, im Firefox werden die Ebenen nicht mehr angezeigt
Woran ich scheitere ist der Anfangswert.
Ich schaffe es nicht, ihn so zu initialisieren, dass die Funktion, wenn sie zum ersten Mal aufgerufen wird mit (irgend) einem Wert anfängt. Wenn ich sie weglasse tut sich gar nichts, wenn ich sie vor den Funktionsaufruf stelle, kann goLive sie nicht einbinden.Kann mir da jemand helfen? Das wäre super!
Ich verstehe nicht so recht woran es scheitert, ich würd zuerst sagen, probier es ohne goLive.
Struppi.