javascript 'conditional comments'?
joshua
- javascript
hallo!
ich verwende auf meiner seite ein javascript zum ausblenden eines layers, welches so aussieht:
var aktiv = 1
function hidemenu() {
if (aktiv == 1) {
document.getElementById("right").className = 'nichtzeigen';
document.getElementById("main").style.width = "auto";
}
else{
document.getElementById("right").className = 'zeigen';
document.getElementById("main").style.width = "33.4em";
}
aktiv *= -1;
}
wobei 'nichtzeigen' eine css klasse mit display:none ist, und 'zeigen' eine css klasse mit display:block. mit getElementById etc. richte ich dann, wenn der layer ein oder ausgeblendet wird, den text aus, dass er sich an das vorgegebene feld anpasst.
das text feld besitzt einen rahmen, und ist selbst ein layer, welcher auf einer anderen ebene oben liegt, die wiederum einen rahmen hat.
mozilla & opera etc. zeigen alles korrekt an, nur die IEs machen probleme, nämlich:
wenn nun mit style.width = "auto"; der layer ausgerichtet wird, wird er einfach zu lang, d.h. er streckt sich über den anderen zweiten rahmen hinaus, sodass das sehr unschön anzusehen ist.
gibt es nun in javascript irgendeine möglichkeit, ganz bestimmte angaben so zu schreiben, dass sie _nur_ von den IEs gelesen und umgesetzt werden, und von den anderen browsern eine andere länge verwendet wird? ... ich kann mir denken, dass es da irgendwas gibt, mit einer browserabfrage?
besten dank für euer hilfe im voraus
gruss
joshua
hi!
sorry, hatte die frage zu früh gestellt.
habs schon.
gruss
joshua
var aktiv = 1
function hidemenu() {
if (aktiv == 1) {
}
aktiv *= -1;
}
joshua,
aktiv soll doch eine bollesche Variable sein. Dann sieht's so eleganter aus:
var aktiv = true;
function hidemenu() {
if (aktiv) {
}
aktiv = !aktiv;
}
Gunnar