• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

DHTML Layer

Maxi

New member
Hallo,

Kann mir jemand sagen, warum folgendes Script nicht funktioniert?

var dom = (document.getElementById) ? true : false;
var ns = (document.layers) ? true : false;
var ie = (document.all && !dom) ? true : false;
var activeLayer = false;

function hideLayer(layer) {

if (dom) {
document.getElementById(layer).style.visibility = "hidden";
} else if (ns) {
document.layers[layer].visibility = "hide";
} else if (ie) {
document.all[layer].style.visibility ="hidden";
}
}

function showLayer(layer) {

if (activeLayer) {
hideLayer(activeLayer);
}

if (dom) {
document.getElementById(layer).style.visibility = "visible";
activeLayer = document.getElementById(layer).style;
} else if (ns) {
document.layers[layer].visibility = "show";
activeLayer = document.getElementById(layer).style;
} else if (ie) {
document.all[layer].style.visibility = "visible";
activeLayer = document.all[layer].style;
}
}


Über die Funktion showLayer soll ein Layer angezeigt werden. Wird sie nocheinmal aufgerufen, soll der derzeit angezeigte Layer wieder versteckt, und der neue angezeit werden. Dies funktioniert aber leider nicht :-(

Vielen Dank schonmal,

cu
Maxi
 
Sorry für das Posting,

Ich habe den Fehler selber gefunden :) Die korrekte Funktion muss heissen:

function showLayer(layer) {

if (activeLayer) {
hideLayer(activeLayer);
}

if (dom) {
document.getElementById(layer).style.visibility = "visible";
} else if (ns) {
document.layers[layer].visibility = "show";
} else if (ie) {
document.all[layer].style.visibility = "visible";
}

activeLayer = layer;
}

cu
Maxi
 
Zurück
Oben