[JS] Random Picture-Picker

01/07/2014 13:09 Ravenstorm#1
Manche haben gerne auf ihrer Webseite einen dynamischen und doch statischen link auf einen anderen Teil der Webseite. Verbreitet ist dies meist auf Anime-Stream Seiten um nach jedem neuen Laden einen anderen Anime als vorher zu zeigen. Das dient dazu den eigenen Content auf der eigenen Seite zu verlinken und somit mehr Traffic zu erzeugen. Das Prinzip ist ganz einfach wir schaffen ein Array mit den Bildern von mir aus auch ein 2 dimensionales Arrays mit den dazugehörigen Links. Dann würfeln wir aus welches wir dieser Bilder nehmen wollen und schreiben das auf die Seite bsp:

Code:
    var imgAr = new Array() 

    imgAr[0] = 'http://www.test.com/content/Picture1.png'
    imgAr[1] = 'http://www.test.com/content/Picture2.png'
    imgAr[2] = 'http://www.test.com/content/Picture3.png'

    var j = 0
    var p = imgAr.length;
     
    var imgBuffering = new Array()
    for (i = 0; i < p; i++){
		imgBuffering[i] = new Image()
		imgBuffering[i].src = imgAr[i]
    }
     
    var imgToSelect = Math.round(Math.random()*(p-1));
    function showImage(){
		document.write('<img src="'+imgAr[imgToSelect]+'">');
    }
Das ganze wurde für den Gebrauch mit Bildern aus dem Internet geschrieben, dies ist natürlich einfach anders umsetzbar mit lokalen Bildern und Daten aus einer Datenbank.
01/07/2014 21:49 MrDami123#2
Wäre es nicht dynamischer, wenn du statt jedes einzelne Bild in den array einzufügen alle auf einmal einfügst.

Code:
var imgAr= ["img1", "img2", "img3"];
Würde dir auch einige Zeilen sparen.
Ist es möglich, durch z.B. einen PHP Befehl die Liste diesem Script direkt zu übergeben?
Somit wäre es noch dynamischer, da du die jeweiligen Bilder z.B. aus einem Ordner per PHP auslesen kannst und sie in einer Liste dem Script übergibst, welches es anzeigt.

Dann könnte ich mit dem Script noch mehr anfangen, danke :)
01/07/2014 21:59 Ravenstorm#3
Quote:
Originally Posted by MrDami123 View Post
Wäre es nicht dynamischer, wenn du statt jedes einzelne Bild in den array einzufügen alle auf einmal einfügst.

Code:
var imgAr= ["img1", "img2", "img3"];
Würde dir auch einige Zeilen sparen.
Ist es möglich, durch z.B. einen PHP Befehl die Liste diesem Script direkt zu übergeben?
Somit wäre es noch dynamischer, da du die jeweiligen Bilder z.B. aus einem Ordner per PHP auslesen kannst und sie in einer Liste dem Script übergibst, welches es anzeigt.

Dann könnte ich mit dem Script noch mehr anfangen, danke :)
Wäre dynamischer ja. In diesem Beispiel diente die Auflistung lediglich der Veranschaulichung und um die Erweiterbarkeit aufzuzeigen.

So wie du es vorgeschlagen hast, ist es durchaus möglich um eine höhere Performance zu erreichen. An dem Skript kann man natürlich noch einige andere Dinge verändern. :)