das Feuer als Hintergrundbild.
Jetzt wollte ich fragen, ob es irgendwie möglich ist das Hintergrund mit dem Zufall zu koppeln. Meine Idee:
Ich erstelle das gleiche Hintergrundbild noch einmal mit Wasser. Nun sollte man bei jedem neuen Aufruf der Homepage den Hintergrund verändert sehen (Also mit dem Zufall gekoppelt). Auf gut Deutsch: Ich habe 2 Bilder, beim Aufrufen wird entweder das eine oder das andere Bild als Hintergrund angezeigt.
Ich habe schon verschiedene Codes angeschaut, aber ich checke nirgends ganz durch. Kann mir jemand helfen? Wäre echt nett. Ich bin schon fast am verzweifeln.
ich würde es aber ohne if-Anweisung für jede einzelne Möglichkeit machen. So kannst du bei Bedarf später einfach noch mehr Hintergründe einfügen, wenn du willst:
$bg kannst du natürlich beliebig verändern. Wichtig ist nur, dass die Dateinamen durchnummeriert sind (hier Hintergrund1.gif, Hintergrund2.gif, Hintergrund3.gif, etc.) und alle von der selben Dateiart sind.
Wenn du noch weniger Arbeit haben möchtest:
[php]<?php
$dir = "background"; //Ordner mit allen Hintergrundbildern
$handle = opendir($dir);
while($file = readdir($handle))
{
if(@getimagesize("$dir/$file"))
$bg[] = "$dir/$file";
}
$background = $bg[array_rand($bg)];
?>[/php]Dann sucht sich das Script selbstständig ein Bild aus dem angegebenen Verzeichnis und du musst nix mehr dran verändern. Ich weiß nur nicht wie das mit der „Performance“ ist (immerhin wird bei jedem Seitenaufruf das Verzeichnis durchsucht), aber wenns nur das eine ist, dann sollte es gehen.
Prinzipiell geht das schon, solange dein Server das ganze auch unterstützt. Ich könnte mir eventuell auch eine Lösung mit Javascript vorstellen, aber davon hab ich keine Ahnung und es ist ineffektiv wenn jemand Javascript nicht aktiviert hat.
Mit JavaScript könnt’ man’s so machen:
[php][/php]Ich hoffe, ich hab’s verständlich kommentiert. Fehler sind nicht ausgeschlossen.
Noch was: Setz auf jeden Fall mit CSS einen Standardhintergrund, sonst gibt’s ohne JS gar keinen zu sehen.
Wie du vielleicht feststellst ist die PHP-Lösung um einiges flexibler und einfacher handzuhaben, aber wenn’s der Server nicht mitmacht ist da ja nix zu machen
(Ja, man könnte es einfach so, wie hier beschrieben in den Quelltext setzen.)
Sorry ich bekomme das ganze aber einfahc nicht angepasst. Mit Scripten bin ich einfach nicht richtig fit. Also ich habe alles angepasst. Und eigenlich müsste alles funktionieren. Tut es aber irgendwie nicht.
So geht’s jetzt, hab’s getestet:
[php][/php]Und ersetzt du durch:
[php][/php]Kurze Aufzählung meiner Fehler:
Vergessen „hintergrund“ durch stamm zu ersetzen
Den Punkt zwischen Dateiname und Endung vergessen
Der Wert für background-image muss selbstverständlich in url() gepackt werden
Das Script wurde ausgeführt, bevor im Quelltext stand, daher war der Tag noch nicht bekannt. Daher jetzt auch das onload, welches bewirkt, dass die funktion hg() aufgerufen wird, wenn der Body geladen ist.