Layer je nach Browser anordnen
s1monZ
- javascript
Hallo.
Bin gerade dabei ne Homepage von frames auf php zu trimmen.
Dabei arbeite ich mit Layern die eingeblendet werden, sobald man mit der
Maus über ein Mitarbeiter Foto fährt. Funktioniert soweit auch alles wunderbar, allerdings sind die positionen der layer je nach browser unterschiedlich. Hier der Codeausschnitt, mit dem ich die Layer je nach Browser anders positionieren möchte:
if (navigator.appName == 'Microsoft Internet Explorer')
{
document.write('<html><div id="1" style="visibility : hidden; position: absolute; z-index: 3; margin-top: -495px; margin-left: 256px;"></html>');
}
else
{
document.write('<html><div id="1" style="visibility : hidden; position: absolute; z-index: 3; margin-top: -495px; margin-left: 256px;"></html>');
}
ist nur ein kleiner teil will nicht alles posten.
In Mozilla funktionieren die Änderungen im IE wird der Layer allerdings gar nicht erst angezeigt. Wäre über jede Hilfe sehr dankbar, da ich schon versucht habe ueber die ElementId die Position zu verändern, was aber auch nicht geklappt hat.
Hier der Codeausschnitt, mit dem ich die Layer je nach Browser anders positionieren möchte:
if (navigator.appName == 'Microsoft Internet Explorer')
das wird nicht funktionieren
wenn du standardkonformen code schreibst, wirst du idr keine derartige ausnahmen benötigen
stichworte für deine weitere suche: "doctype-sitch" und "quirksmode"
Vielen Dank,
hab mich schonmal ein wenig umgeschaut und bin schon ein wenig fündig geworden. CSS, JS etc. kann ich einigermaßen, aber die Doctype deklaration scheint da wirklich ein guter Ansatz zu sein :)
Wäre ich von alleine nicht so schnell drauf gekommen, da ich sonst eher mit Java / C# etc. zu tun habe.
Nochmals dankeschön....
Mahlzeit s1monZ,
Bin gerade dabei ne Homepage von frames auf php zu trimmen.
Cool. Ich bin gerade dabei, mein Auto von vierrädrig auf Benzin zu trimmen.
Mit anderen Worten: Äpfel und Birnen.
Dabei arbeite ich mit Layern die eingeblendet werden, sobald man mit der
Maus über ein Mitarbeiter Foto fährt.
http://de.selfhtml.org/html/layer/definieren.htm#layer@title=Layer? Die stammen aus dem vorigen Jahrtausend und sollten nicht mehr verwendet werden ...
Funktioniert soweit auch alles wunderbar, allerdings sind die positionen der layer je nach browser unterschiedlich.
Kein Wunder, schließlich werden Positionsangaben bzw. -eigenschaften von verschiedenen Browser <http://de.selfhtml.org/javascript/objekte/event.htm@title=unterschiedlich interpretiert>.
[code lang=javascript]
if (navigator.appName == 'Microsoft Internet Explorer')
{
Es ist komplett sinnfrei, auf den (angeblichen) Namen eines Browsers zu prüfen. Prüfe lieber auf Eigenschaften bzw. Fähigkeiten, die Du gezielt einem bestimmten Browser zuordnen kannst.
document.write('<html><div id="1" style="visibility : hidden; position: absolute; z-index: 3; margin-top: -495px; margin-left: 256px;"></html>');
Du willst in ein bestehendes Dokument einfach einen neuen <html>-Abschnitt einfügen? <http://de.selfhtml.org/html/allgemein/grundgeruest.htm#html@title=Das ist nicht richtig.>
}
else
{
document.write('<html><div id="1" style="visibility : hidden; position: absolute; z-index: 3; margin-top: -495px; margin-left: 256px;"></html>');
"Wenn diesunddas, dann mach jenes - wenn nicht, dann man jenes" ... sehr sinnvoll ist diese Unterscheidung nicht gerade ...
In Mozilla funktionieren die Änderungen im IE wird der Layer allerdings gar nicht erst angezeigt. Wäre über jede Hilfe sehr dankbar, da ich schon versucht habe ueber die ElementId die Position zu verändern, was aber auch nicht geklappt hat.
Bau einfach das <div> irgendwo in Deine Seite ein, setze seine http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display@title=display-Eigenschaft auf "none" - dann kannst Du es bei Bedarf einblenden und ihm eine Position verpassen.
MfG,
EKKi