Zum Inhalt springen

Mit JavaScript in Typo3 CSS ändern

Erstellt am 19. August 2007 · 5 Antworten · letzte Antwort am 20. August 2007

Tags: Frage

Frisbee ·

Hallo!

Ich habe eine Website mit folgendem CSS-Ausschnitt:

#headlayer {
position:absolute;
width:890px;
height:120px;
z-index:2;
left: 0px;
top: 0px;
background-image: url(../webbilder/headlayerbackground-white.jpg);
}

#bodylayer {
position:absolute;
width:740px;
height:2900px;
z-index:1;
left: 150px;
top: 120px;
background-color: #FFF;
}

Nun ist es so, dass ich mittels JavaScript einen Zufallsgenerator laufen lasse, der das Bild im Headlayer und die Backgroundfarbe des Bodylayers bei jedem Reload ändert. Mit

document.getElementById("headlayer").style.backgroundImage = designs[Zufalldesign][0];
document.getElementById("bodylayer").style.backgroundColor = designs[Zufalldesign][1];

weise ich die Eigenschaften zu. Ausserhalb von Typo3 funktioniert alles. Pflanze ich das in Typo3 ein, wird die Farbe geändert, das Bild erscheint aber nicht, obwohl es im CSS korrekt geändert wurde. Gibt es dafür eine Erklärung?

Bin für jeden Tipp dankbar!
René

maik ·

Vermutlich holt der Browser das CSS aus seinem Cache.
Änderungen im CSS werden in der Regel erst dann wirksam, wenn man an Browser ein forced reload ausführt. [F5]

just2b ·
maik schrieb

Vermutlich holt der Browser das CSS aus seinem Cache.
Änderungen im CSS werden in der Regel erst dann wirksam, wenn man an Browser ein forced reload ausführt. [F5]

nö warum, wird ja direkt im DOM geändert... ist ja nichts fixes in ner Datei.

ich würd mal den pfad checken

georg

Frisbee ·
maik schrieb

Vermutlich holt der Browser das CSS aus seinem Cache.
Änderungen im CSS werden in der Regel erst dann wirksam, wenn man an Browser ein forced reload ausführt. [F5]

Habe ich getestet, funktioniert nicht.

just2b schrieb

nö warum, wird ja direkt im DOM geändert... ist ja nichts fixes in ner Datei.

ich würd mal den pfad checken

Der Pfad stimmt. Kopiere ich nämlich den Link vom js ins css, funktionierts. Der DOM-Inspector sagt, es ist das richtige eingetragen. Die Version ohne Typo3 tut auch. :x

René

Unbekannter Benutzer ·

Ob der Pfad in der CSS Datei steht oder per JS gesetzt wird macht aber einen Unterschied denke ich. Speziell bei relativen Pfaden tückisch, denn in der CSS Datei bedeutet ein ../ der Pfad eins über dem der CSS Datei... Per JS wird es wohl der Pfad eins über dem der aktuellen Seite sein. Ich würde auch auf den Pfad tippen...

Frisbee ·
Kitsunet schrieb

Ob der Pfad in der CSS Datei steht oder per JS gesetzt wird macht aber einen Unterschied denke ich. Speziell bei relativen Pfaden tückisch, denn in der CSS Datei bedeutet ein ../ der Pfad eins über dem der CSS Datei... Per JS wird es wohl der Pfad eins über dem der aktuellen Seite sein. Ich würde auch auf den Pfad tippen...

Genau das habe ich gestern auch herausgefunden. Ein kleiner, äusserst nerviger Fehler!

Jedenfalls danke für die Hilfe!

Gruss
René