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

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

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

Beitragvon Rasolofo » 23. Okt 2010, 18:48

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 :?
Nobody is perfect.
I remember your name is Nobody!
Benutzeravatar
Rasolofo
 
Beiträge: 3
Registriert: 23. Okt 2010, 18:31

Beitragvon Cheffchen » 23. Okt 2010, 22:14

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
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Beitragvon Rasolofo » 24. Okt 2010, 02:23

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
Nobody is perfect.
I remember your name is Nobody!
Benutzeravatar
Rasolofo
 
Beiträge: 3
Registriert: 23. Okt 2010, 18:31

Beitragvon Cheffchen » 24. Okt 2010, 13:27

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
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Beitragvon Rasolofo » 24. Okt 2010, 16:19

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
Nobody is perfect.
I remember your name is Nobody!
Benutzeravatar
Rasolofo
 
Beiträge: 3
Registriert: 23. Okt 2010, 18:31

Beitragvon Cheffchen » 24. Okt 2010, 22:35

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
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin


Zurück zu Templates/Navigationen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast