Layers werden im IE falsch angezeigt
Henrik
- html
0 André Laugks0 brand
Grmpf,
da verbringt man zich stunden mit dem design einer neuen Seite und wenn man (zugegebener massen dummer weise) das ding am ende mit dem IE berachtet ist alles im ****
Ich habe mit versteckten layers gearbeitet. Will heissen ich habe durch javascript eigentlich vorgehabt das man die layers durch klicks auf entsprechende stellen sichtbar bzw. unsichtbar macht.
Hat unter Netscape auch alles super geklappt, nur als ich die Seite mit dem IE begutachtet habe währe ich beinahe in Tränen ausgebrochen.
Auch wenn ich die Layer auf "hidden" gestellt habe stellt sie der IE trotzdem dar. Aba auch nicht an der Stelle wo Sie eigentlich positioniert waren sonder direkt am anfang untereinander.
Ich hoffe es weis jemand einen Ausweg der nicht dazu führt das ich 2 verschiedene Versionen der Seite erstellen muss ! (Scheiss Browser Krieg)
Danke schonmal im Vorraus
Henrik
Hallo!
Auch wenn ich die Layer auf "hidden" gestellt habe stellt sie der IE trotzdem dar. Aba auch nicht an der Stelle wo Sie eigentlich positioniert waren sonder direkt am anfang untereinander.
Da hast Du wohl einige Kapitel in selfhtml nicht gelesen. Der IE kann keine Layer. Wie Du keine 2 Versionen erstellen mußt, wird Dir im Kapitel DHTML in selfhtml erklärt. Beide verstehen zum Beispiel <div>. Auch die JS-Syntax ist etwas unterschiedlich.
mfg, André
unter http://www.htmlguru.com findest du einen schoenen X-Browser programmieransatz
kfichtner
Hi!
Ich kann leider nicht hellsehen, daher weiß ich natürlich nicht, was an deinem Script falsch ist, aber folgender maßen funktionierts:
function showlay(nam)
{
if(document.layers)
{
parent.frames[1].document.layers[nam].visibility = "show"; //bzw. hide
}
if(document.all)
{
parent.frames[1].document.all[nam].style.visibility = "visible"; //bzw. hidden
}
}
nam ist dabei die Layer-ID, die beim funktionsaufruf übergeben werden muß.
die Layerangabe:
<div style="visibility: hidden" id="name">
hoffe ich konnte dir helfen
BRAND
Danke erstma !
Das funktioniert sowhol für Netscape als auch für den IE ?
Hi!
Ich kann leider nicht hellsehen, daher weiß ich natürlich nicht, was an deinem Script falsch ist, aber folgender maßen funktionierts:
function showlay(nam)
{
if(document.layers)
{
parent.frames[1].document.layers[nam].visibility = "show"; //bzw. hide
}
if(document.all)
{
parent.frames[1].document.all[nam].style.visibility = "visible"; //bzw. hidden
}
}
nam ist dabei die Layer-ID, die beim funktionsaufruf übergeben werden muß.
die Layerangabe:
<div style="visibility: hidden" id="name">hoffe ich konnte dir helfen
BRAND
Hi!
Danke erstma !
Das funktioniert sowhol für Netscape als auch für den IE ?
ich hab' meine Page mit NS 4.07 und IE 4.0 getestet, und bei beiden hat's funktioniert!
(das parent.frames[] kannst du natürlich weglassen. Das steht nur dort, weil ich's copy und pastete und ich frames verwende)
mfG
BRAND