funktion, um die sichtbarkeit von divs ändern
Si
- javascript
0 Marc Reichelt0 Tobias K.0 KLAUS
für das menu auf meiner page muss ich irgendwie die sichtbarkeit von div ebenen ändern. ich habe mal etwas rumgespielt und da kam folgende funktion heraus:
function showdiv()
{
document.getElementById('divname').style.visibility = "visible";
};
da ich nicht nur einen div, sondern mehrere habe, will ich diese funktion etwas veralgemeinern. also in der art von
function showdiv(divname)
{
//was kommt hier rein???
};
ich habe es mehrere male versucht, doch im besten fall bekam ich eine fehlermeldung. kann mir jemand helfen??
Si
Hi!
Tja, das ist wieder mal ein toller Konflikt zwischen den Browsern...
Bei manchen heißt es nämlich (so wie bei dir) visibility und kann die Werte "visible" und hidden" annehmen (vielleicht noch was), bei anderen heißt es visible und kann nur yes oder no annehmen (bzw. true oder false?).
Viel Spaß bei der Fallunterscheidung! ;-)
cu
Marc Reichelt || http://www.step2identity.com/
Hallo,
document.getElementById('divname').style.visibility = "visible";
function showdiv(divname) {
//was kommt hier rein???
eigentlich hast du es schon fast - du musst nur bei dem oben die Anführungszeichen weglassen, dann greift getElementById auf die Variable divname zu, die ja im Funktionsaufruf übergeben wird.
ich habe es mehrere male versucht, doch im besten fall bekam ich eine fehlermeldung.
was hast du versucht?
Si
Si?
Grüße aus Nürnberg
Tobias
Hallo Si,
Verallgemeinern funktioniert nicht so richtig, mal ja, mal nicht.
Die Funktionen getElementByID und getElementsByTagName untersuchen ein Dokument stets im aktuellen Zustand des momentanen Browsers aufs entsprechende Element, das gesucht und benannt werden will. Diese Anweisung ist relativ neu und die verschiedenen Browser mögen damit noch nicht so 100%ig damit umgehen.
Netscape: document.getElementByID(name).style.xxxx läßt sich (eventuell) reduzieren auf:
zB.:
var gEbID = document.getElementByID(name)
gEbID.style.xxxx = "neueEigenschaft";
Gut ist eine BrowserDetektion mit Variablenübergabe:
if (document.all) {
gEbID = document.all; //IEs
} else if (document.getElementByID) {
gEbID = document.getElementByID; //Netscapes
}
}
Viel Spaß damit läßt sich viel arrangieren!
Gruss KLAUS
Moin!
Verallgemeinern funktioniert nicht so richtig, mal ja, mal nicht.
Die Funktionen getElementByID und getElementsByTagName untersuchen ein Dokument stets im aktuellen Zustand des momentanen Browsers aufs entsprechende Element, das gesucht und benannt werden will. Diese Anweisung ist relativ neu und die verschiedenen Browser mögen damit noch nicht so 100%ig damit umgehen.
Die einzigen Browser, die damit ein Problem haben, heißen: Netscape 4, IE 4 und Lynx. Die ersten beiden können getElementById nicht, der letzte (repräsentativ für alle anderen) kein Javascript.
Man kann NS4 und IE4, wenn man nett ist, berücksichtigen. Man kann es aber mittlerweile auch langsam lassen - insbesondere darf es angesichts der Möglichkeit, dass Javascript ganz aus ist, ohnehin nicht stören, wenn kein Layr sichtbar wird.
- Sven Rautenberg
MoinMoin Sven!
Es gibt 2 Klassen von InternetBesuchern:
Eine WebSeite für den privaten Surfer wird wohl kaum noch mit einem IE 4 oder NS 4.7 betrachtet. Die aktuellen Versionen wie IE 5.5 + 6 und wie NS 6 + 7 und Opera 7 halten sich zum größten Teil an die Vorgaben, die das W3Consortium offenlegt. Differenzen lassen sich mit einfachen JavaScripts in Variablenübergaben beheben, was überdies Speicherressorcen spart.
Anders siehts mit FirmenRechnern aus, auf denen vielfach noch uralte Programme auf uralten Plattformen bedient werden. Mit dem Grund, dass diese Dinger laufen und laufen und laufen, was man von moderneren Plattformen nicht im geringsten behaupten kann.
Daher tut man gut, zu relativieren.
Gruss KLAUS
MoinMoin Sven!
Hallo
Anders siehts mit FirmenRechnern aus, auf denen vielfach noch uralte Programme auf uralten Plattformen bedient werden. Mit dem Grund, dass diese Dinger laufen und laufen und laufen, was man von moderneren Plattformen nicht im geringsten behaupten kann.
Wobei auch Firmen hin und wieder updaten. Ist ja irgendwie auch ein Sicherheitsrisiko, wenn sie ihre Mitarbeiter mit einem uralten Browser wie dem NS4 ins Inet lassen.
Gruss KLAUS
Philip