[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Background-image im Body soll per link in der Navi wechseln
Seite 1 von 1

Background-image im Body soll per link in der Navi wechseln

Verfasst: 23. Okt 2010, 19:48
von Rasolofo
Hallo!
Ist da Jemand der kurz erklären kann, wie man das "Background-image" im Body per link (per mouse-click) in der Navigation wechseln kann? Es soll im Template für Navigation eingebetet werden
Danke :?

Verfasst: 23. Okt 2010, 23:14
von Cheffchen
Hallo,

was meinst du genau, ist sehr ungenau deine Frage.

Wie das in mein "www" 2 Designs die gewechselt werden können. Das kann man natürlich einfacher machen das nur Hintergrund anders ist.
(auf der Seite Links-Oben)

Was für Links? Normale Menü (startseite/impressum/kontakt...) jede Seite anderes Hintergrundbild oder switch wie oben?
wie man das "Background-image" im Body per link
mit CSS und PHP so das die id vom Body geändert wird, ist eine Möglichkeit.

Fragen über Fragen, Möglichkeiten über Möglichkeiten :O).

Cheffchen

Verfasst: 24. Okt 2010, 03:23
von Rasolofo
Ach ja ich hab 'was vergessen: Body-Background-Image meine ich (Webseitenhintergrund). Und zwar mit "onmouseover" bzw. "onmouseclick" auf irgendeinem Link in meiner Navigation!

Ich hab ein Beispiel in JS gefunden. In einem einfachen HTML, wie hier unten funktioniert es.
Im META:
<script type="text/javascript">
function swapBackground(strImg) {
document.getElementById('body').style.backgroundImage = "url("+strImg+")";
}
</script>


Im BODY (Bsp. mit onmouseover):
<a href="#" onmouseover="swapBackground('hintergrund2.jpg');" onmouseout="swapBackground('Hintergrund1.jpg');">Hintergrundbild wechseln</a>

Was mich daran hindert, ist die Verkettungsoperation zweier Apostrophen (') mit REX-Variable $REX['HTDOCS_PATH'].

Im meinem BODY habe ich noch zusätzliche If-Anweisung für den Link. So soll es dann aussehen [die zwei (') hintereinander machen das Problem]:
<?PHP
if (Bedingungen) {
echo '<a href="#" onmouseover="swapBackground(' '.$REX['HTDOCS_PATH'].' hintergrund2.jpg');" onmouseover="swapBackground(' '.$REX['HTDOCS_PATH'].' hintergrund2.jpg'');"> Hintergrundbild wechseln</a>';
}
else
{
echo 'Blabla';
}
endif;
?>


Falls Du andere Möglichkeit findest dann herzl. Willkommen!

Danke im Vorraus
Rasolofo

Verfasst: 24. Okt 2010, 14:27
von Cheffchen
Hallo,

also bloss ein Syntax problem.
versuche mal das (ungetestet)

Code: Alles auswählen

echo "<a href='#' 
onmouseover='swapBackground(\'".$REX['HTDOCS_PATH']."hintergrund2.jpg\');'>
Hintergrundbild wechseln</a>"; 
Beim Seitenwechsel ist das aber wieder weg, also muss der User das bei jeder Seite neu klicken.

Ich finde da ein PHP Lösung besser, da wird die Seite zwar beim Bildwechsel neu geladen aber die änderungen bleibt beim ganzen Besuch bestehen.

Cheffchen

Verfasst: 24. Okt 2010, 17:19
von Rasolofo
Danke vielmals Cheffchen!
Ich werde deinen Vorschlag sofort ausrobieren.
Ich habe das Problem auch von alleine gelöst, indem ich per Webrowser die HTML-Ausgabe überprüft habe.

Frage: hast Du etwas Ahnung von dem Logowechsel per Menu-Links wie hier oben? Danke Dir dafür

Nun meine Lösung vom vorhin:
ES FUNKTIONIERT: Webseitenhintergrundbildwechsel

Diese Funktion im Kopfteil (head) oder in der JS-Datei gut eingebettet
function swapBackground(strImg) {
document.getElementById('body').style.backgroundImage = "url("+strImg+")";
}

"Style sheet"-Deklaration: body (entweder in Head oder separat in css). wie auch immer was drin steht, egal!
<body id=body>


Im BODY:

<body id='body'>
.
.
.

Mein Fall: Hintergrundbildwechsel innerhalb einer If-Anweisung in einem Template in PHP.
if (Bedingungen) {
echo '<a href="#" onmouseover="swapBackground(\''.$REX['HTDOCS_PATH'].'hintergrundbild1.jpg\');">'.$lev2->getName().'</a>';
}else {
Blabla
}
.
.
.
</body>


Bis dann
Rasolofo :D

Verfasst: 24. Okt 2010, 23:35
von Cheffchen
schuldige dein Beitrag zu verstehen ist echt nicht einfach.
Frage: hast Du etwas Ahnung von dem Logowechsel per Menu-Links wie hier oben? Danke Dir dafür
Javascript geht so, PHP ist um einiges besser.
Wo soll ich Ahnung haben beim Logowechsel?
Helfe gerne wenn ich weis wo :O).

Cheffchen