HTML JavaScript Hintergrund?

2 Antworten

Du kannst das src-Attribut des img-Tag auf eine zufällige URL aus einem Array ändern: https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute

Wenn du dies mit CSS gemacht hast kannst du mit hintrergrund.style.backgroundImage = "..."; Auch den CSS Hintergrund ändern.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung

Ich würde einfach mit PHP ein Zufallsbild ausm nem array wählen.

<?php
  $bg = array('bg-01.jpg', 'bg-02.jpg', 'bg-03.jpg', 'bg-04.jpg', 'bg-05.jpg', 'bg-06.jpg', 'bg-07.jpg' ); // array of filenames

  $i = rand(0, count($bg)-1); // generate random number size of the array
  $selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
?>

<style type="text/css">
<!--
body{
background: url(images/<?php echo $selectedBg; ?>) no-repeat;
}
-->
</style>
Eutervogel  20.08.2021, 17:08

Hier eine jQuery-Variante:

var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg'];
$('html').css({'background-image': 'url(images/' + images[Math.floor(Math.random() * images.length)] + ')'});
1
GamingBanane 
Fragesteller
 20.08.2021, 17:12
@Eutervogel

die PHP variante kann die auch in nem anderem php script nutzen oder muss das genau auf der seite sein?

0
Eutervogel  20.08.2021, 17:15
@GamingBanane

Das Ding ist halt, dass du in einer css Datei kein PHP verwenden kannst. Ich würde dass in den header packen.

0
TechPech1984  20.08.2021, 17:19
@Eutervogel

praktisch kann man auch php so schreiben das es als css datei ausgegeben wird . alledfings hat man dann meist cache probnlem

0
Eutervogel  20.08.2021, 17:27
@Eutervogel

Und bei dem jQuery musst du natürlich jQuery auch laden. Allerdings ist das Quatsch, reines JS würde es tun.

var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg'];
document.querySelector('html').css({'background-image': 'url(images/' + images[Math.floor(Math.random() * images.length)] + ')'});
0
TechPech1984  20.08.2021, 17:38
@GamingBanane

dann darfst du die bilder wohl nicht ecter verwenden . scheck mal direkt im browser ... sind die hinter einem login ?

weil das beispiel funktioniert, hab jetzt immer das selbe bild genommen . ansonstenhast du wohl kein javascript aktiviert oder so

0
Eutervogel  20.08.2021, 17:40
@GamingBanane

Dennoch fände ich die PHP Variante eleganter. Wie gesagt der CSS Teil ist mit <!-- auskommentiert und hat somit keine Funktion.

0
TechPech1984  20.08.2021, 17:55
@GamingBanane

ja toll , da fehlt irgendwie noch die echo ausgabe vom style ?

$i = rand(0, count($bg)-1);
$selectedBg = "$bg[$i]";
?>
</style>

es wäre cool wen du etwas grundlagen lernen würdest .

also auch verstehen tust was du da mit copy und paste anrichtest, sonst wird dein ganzes system bald so löchrig .

0
Eutervogel  20.08.2021, 17:58
@GamingBanane

Habs mal grade selbst auf n Server geladen. Klappt doch prima. Aber in meinem ersten Bsp. fehlten auch noch '' . Man sollte nie ungelesenen Code copy pasten. Sorry für die ganze Verwirrung. Klappt's denn jetzt bei dir?

0
GamingBanane 
Fragesteller
 20.08.2021, 19:03
@Eutervogel

Ja aber was ich mich frage wie kann ich den Hintergrund blurren ohne das der text betroffen ist

0
Eutervogel  21.08.2021, 11:00
@GamingBanane

Jap,. Wenn du dieses Problem nicht allein gelöst bekommst, solltest du dich erstmal mit den basics beschäftigen, oder dir ein neues Hobby suchen ;)

0