Verschiedene Ebenen
helmut
- dhtml
hi
wer hilft neueinsteiger:
1.)
ich moechte mit ebenen arbeiten, die ich mittels animierter grafiken ansprechen kann.
leider habe ich irgendwo einen fehler
2.)
wie kann ich das problem fehlerfrei im ie darstellen? wo finde ich hinweise?
folgende syntax macht mir das probleme:
<script language="JavaScript">
<!--
if (document.images) {
img1on = new Image();
img1on.src = "rea_on.gif";
img1off = new Image();
img1off.src = "rea_off.gif";
img2on = new Image();
img2on.src = "vora_on.gif";
img2off = new Image();
img2off.src = "vora_off.gif";
}
function imgOn(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "on.src"); }}
function imgOff(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "off.src"); }}
//-->
</script>
<script language="JavaScript">
<!--
if (document.layers) {
ns = 1; ie = 0;
} else {
ns = 0; ie = 1;
}
var i = 1;
var test = "news";
function zeigeEbeneNr(ebene_nr){
verbergen(eval('"' + test + i +'"'));
zeigen(eval('"' + test + ebene_nr +'"'));
i = ebene_nr;
}
function zeigen(name) {
if (ns) {
document.layers[''+name].visibility = "show";
}
else {
document.all[''+name].style.visibility = "visible"
}
}
function verbergen(name) {
if (ns){
document.layers[''+name].visibility = "hide"
}
else {
document.all[''+name].style.visibility = "hidden"
}
}
//-->
</script>
Einbindung:
<DIV ID="news1" >
Text
</DIV>
<DIV ID="news2" >
Text
</DIV>
<DIV ID="Steuerung" >
<a href="javascript:zeigeEbeneNr(1)" onMouseOver="imgOn('img1')" onMouseOut="imgOff('img1')"><img name="img1" border=0 width=23 height=23 SRC="rea_off.gif" alt="Norbert Lustig"></a><a href="javascript:zeigeEbeneNr(2)" onMouseOver="imgOn('img2')" onMouseOut="imgOff('img2')"><img name="img2" border=0 width=23 height=23 SRC="vora_off.gif" alt="Christian Fischer"></a><p>
im voraus dankt
helmut
</div>
Du solltest das Problem schon naeher eingrenzen, oder zumindest eine URL angeben, wo man es live erleben kann.
Ansonsten ist es etwas zu viel Aufand.
Viele Gruesse, Thomas Hieck
Hi
Du musst, wenn die Seite im Netscape funkionieren soll bei deinen drei div Bereichen
style Angaben machen!
Beispiel:
<DIV ID="news1" style="position:absolute; top:1px; left:10px; width:450px; height:300px; visibility:visible;">
Ausserdem musst du dann noch die beiden Funktionen imgOn(imgName) und imgOff(imgName) folgendermassen verändern:
function imgOn(imgName) {
if (document.images) {
if (document.layers)
document.layers[2].document[imgName].src = eval(imgName + "on.src");
else
document[imgName].src = eval(imgName + "on.src");}}
function imgOff(imgName) {
if (document.images) {
if (document.layers)
document.layers[2].document[imgName].src = eval(imgName + "off.src");
else
document[imgName].src = eval(imgName + "off.src");}}
Ausserdem funktioniert das Ebenen sichtbar (unsichtbar) machen nicht ganz korrekt:
dadurch, dass du in der Funktion zeigeEbeneNr(ebene_nr) die Variable i mit 1 vorbelegst wird,
wenn du auf die linke Grafik klickst die Ebene 1 erst unsichtbar und dann wieder sichtbar gemacht (Es passiert also gar nichts :-) ). Sobald du einmal auf die rechte Grafik geklickt hast funktioniert es dann.
Ich würde die funcion so schreiben:
function zeigeEbeneNr(ebene_nr){
if (ebene_nr == 1)
verbergen("news2");
else
verbergen("news1");
zeigen(eval('"news' + ebene_nr +'"'));
}
Die beiden Variablen
var i = 1; und
var test = "news";
kannst du dann auch weglassen.
Bei meinem Netscape (4.03) klappts so
Bei weiteren Fragen einfach nochmal schreiben!
Viel Spass Holger