• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Bilder zufällig anordnen

Shadow

New member
Hi,

mal angenommen ich habe 10 Banner und diese sollen bei jedem Seiten-Aufruf in einer neuen Reihenfolge auf der Site angeordnet werden. Wie geht das???

Cu

Shadow
 
An die Stelle, wo die Dinger hin sollen schreibst du:

<script language="JavaScript">
<!--
var banner = new Array("banner1.jpg", "banner2.gif", "banner3.png",...,"banner10.gif");

for(i=10; i>0; i--) {
//Zufallszahl auslosen
zufall = Math.round(Math.random()*i);
//schreiben
document.writeln("<a href='wohinauchimmer.htm'><img src='" + banner[zufall] + "' border='0'></a>");
//benutzes Element aus array löschen
temparray = banner.slice(i+1,banner.length);
banner = banner.slice(0,i);
banner = banner.concat(temparray);
}
//-->
</script>

Den Array natürlich ganz ausfüllen.
Hab ich jetzt aber nicht ausprobiert.
 
Thanxx

Hi Gero,

vielen Dank für deine Hilfe!!!

Doch leider funzt das Teil bei mir nicht (Script-Fehler). Deshalb fände ich es von dir furchtbar nett, wenn du das Script nochmal auf Fehler untersuchen könntest und mir dann hoffentlich bitte ein funktionierendes Script posten würdest.

Vielen Dank
 
Hatte beim Array zusammen setzen die falsche Variable, und den Zufall ein zu hoch.

<script language="JavaScript">
<!--
var banner = new Array("banner1.gif","banner2.gif","banner3.gif","banner4.gif","banner5.gif","banner6.gif","banner7.gif","banner8.gif","banner9.gif","banner10.gif");

for(i=10; i>0; i--) {

zufall = Math.round(Math.random()*(i-1));

document.writeln("<a href='" + banner[zufall] + "'><img src='" + banner[zufall] + "' border='0'></a>");

temparray = banner.slice(zufall+1,banner.length);
banner = banner.slice(0,zufall);
banner = banner.concat(temparray);
}
//-->
</script>

Allerdings hab ich auch bei dem anderen Script keine Fehlermeldung bekommen. Hat eben n paar falsche Bilder ausgegeben.
 
DANKE Gero!

Das Script funzt jetzt auch bei mir. Trotzdem hätte ich da noch ein paar Fragen: Wie kann ich die Banner anordnen z.B. jeden Banner in eine neue Zeile? Wie kann ich jedem Banner einen festen "alt=..." und eine feste URL (beim klick auf den Banner" zuweisen?

Viele Grüße

Shadow
 
Sorry, ich bin nicht so oft in dem Forum hier.

Bin normalerweise in nem anderen js-Forum, und nur hier, wenn ich meine PHP-Fragen checken will.

Das müßte gehen, aber du kennst mich ja, hab nix ausprobiert:

<script language="JavaScript">
<!--
var banner = new Array("banner1.gif","banner2.gif","banner3.gif","banner4.gif","banner5.gif","banner6.gif","banner7.gif","banner8.gif","banner9.gif","banner10.gif");

var URLs = new Array("banner1.gif","banner2.gif","banner3.gif","banner4.gif","banner5.gif","banner6.gif","banner7.gif","banner8.gif","banner9.gif","banner10.gif");

var Alt = new Array("banner1.gif","banner2.gif","banner3.gif","banner4.gif","banner5.gif","banner6.gif","banner7.gif","banner8.gif","banner9.gif","banner10.gif");


for(i=10; i>0; i--) {

zufall = Math.round(Math.random()*(i-1));

document.writeln("<a href='" + URLs[zufall] + "'><img src='" + banner[zufall] + "' Alt='" + Alt[zufall] + "' border='0'></a>");

temparray = banner.slice(zufall+1,banner.length);
banner = banner.slice(0,zufall);
banner = banner.concat(temparray);

temparray = banner.slice(zufall+1,URLs.length);
URLs = banner.slice(0,zufall);
URLs = banner.concat(temparray);

temparray = banner.slice(zufall+1,Alt.length);
Alt = banner.slice(0,zufall);
Alt = banner.concat(temparray);
}
//-->
</script>
 
Ähm, wie soll ich dir Anworten, wenn du die Mail über das Forum hier schickst?
Oder is das Suchdienste etwa deine eMail-Adresse???

Du trägst jedenfalls alles da ein. Moment, ich schick dir mal was besseres:

<script language="JavaScript">
<!--
Anzahl = 10 //die Anzahl deiner Banner
var banner = new Array(Anzahl);
for(i=0; i<Anzahl; i++) banner = new Object();

//hier kommen dann alle deine Banner hin, nach dem Schema:
banner[0].URL = "http://www.irgendwas.de"; //Url
banner[0].img = "banner1.jpg"; //Bildquelle
banner[0].Alt = "dein Alttext"; //Alttext

banner[1].URL = "/ordner/html.html";
banner[1].img = "bild.gif";
banner[1].Alt = "wieder der Alttext";

banner[2]...usw. immer schon die Indexnummer(wo hier jetzt 2 steht) hochzählen, und immer die Anzahl richtig einstellen.

for(i=10; i>0; i--) {

zufall = Math.round(Math.random()*(i-1));

document.writeln("<a href='" + banner[zufall].URL + "'><img src='" + banner[zufall].img + "' Alt='" + banner[zufall].alt + "' border='0'></a>");

temparray = banner.slice(zufall+1,banner.length);
banner = banner.slice(0,zufall);
banner = banner.concat(temparray);
}
//-->
</script>


PS: Bin sonst immer bei Kakao&Kekse, wenn dir das was sagt(mal sehen, ob mich ein Modertor jetzt killt).

[Edited by Gero on 25-11-2000 at 12:24]
 
Super

Hi Gero,

o.k. thanxx ich habe das Script kapiert!

Vielen Dank dafür!

P.s.: Du wirst von mir hören *grins*...
 
Super, nach sowas hab ich schon ewig gesucht.
Aber leider habe ich zwei Probleme, beim ersten bzw. zweiten, also dem in der Mitte, Script, funzt immer nur der 1. Link richtig, alle anderen werden Links zu dem Bild, und das zweite Script funzt gar nicht bei mir...
Also wäre nett, wenn mir jemand helfen könnte... bin leider noch superschlecht in js, sorry.
Ach ja, und wie kann ich die Bilder in ein Tabelle kriegen???
 
Um alles richtig zu stellen

Hab da noch ne kleine Sache vergessen gehabt(oder zwei)

<script language="JavaScript">
<!--
Anzahl = 3 //die Anzahl deiner Banner
var banner = new Array(Anzahl);
for(i=0; i<Anzahl; i++) banner = new Object();

//hier kommen dann alle deine Banner hin(von 0 bis Anzahl-1), nach dem Schema :
banner[0].URL = "http://www.irgendwas.de"; //Url
banner[0].img = "email.gif"; //Bildquelle
banner[0].Alt = "dein Alttext"; //Alttext

banner[1].URL = "/ordner/html.html";
banner[1].img = "edit.gif";
banner[1].Alt = "wieder der Alttext";

banner[2].URL = "/ordner/html.html";
banner[2].img = "home.gif";
banner[2].Alt = "wieder der Alttext";

for(i=Anzahl; i>0; i--) {

zufall = Math.round(Math.random()*(i-1));

document.writeln("<a href='" + banner[zufall].URL + "'><img src='" + banner[zufall].img + "' Alt='" + banner[zufall].alt + "' border='0'></a>");

temparray = banner.slice(zufall+1,banner.length);
banner = banner.slice(0,zufall);
banner = banner.concat(temparray);
}
//-->
</script>
 
document.writeln("<a href='" + banner[zufall].URL + "'><img src='" + banner[zufall].img + "' Alt='" + banner[zufall].alt + "' border='0'></a>");

Ich weis der Thread ist schon uralt, aber kann mir da bitte jemand ein "target=_new" so einfügen daß das dann auch funktioniert, ich blicke das nicht so ganz.

Danke schon mal
 
Zurück
Oben