Archivlink: javarea.de Forum > JavaScript > Zufallsgrafik Teil 2
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Zufallsgrafik Teil 2
Pages: [1]
| geschrieben von elmospiel am 05.09.2006 - 22:10 |
Hallo miteinander.
Ich bin auf der Suche nach einem Script, der mir auf der Website Zufallsgrafik ermöglicht.
Zwar ist auf dieser Website bereits ein Script, doch einige Bilder werden gleich 2fach hintereinander
angezeigt. Folgendes suche ich:
Irgendwie fehlt ein Gedächtnis, welches der Funktion sagt, daß ein bestimmtes Bild gerade
zuvor angezeigt wurde. Nun, ich denke daß man das mit einer Schleife (If then else, while, for, etc.) gut lösen könnte.
Für das Array wäre eine Schleife durchaus auch angebracht.
Der Bilder sollen aber nicht durch aktualisieren des Browser umgeschaltet werden, sondern durch Klicken eines Buttons im Menü.
Nun, dafür könnte man in JS die "onClick" Methode benutzen.
Gibt es ein solches Script bereits irgendwo fertig? Da ich das leider nicht selbst programmieren kann, wäre
ich für eine Hilfe dankbar. 
Vielen Dank.
Gruß, Reiner. |
| geschrieben von Micha am 06.09.2006 - 08:33 |
Hi,
ich frage mich gerade, wo bei Deiner beschriebenen Version noch das Wort "Zufall" drin vorkommt?! Entweder ich berechne es in einer Scxhleife oder ich gebe Werte per Zufall aus. In einem Brettspiel kannst Du auch zweimal nach einander eine 6 würfeln...
Micha |
| geschrieben von elmospiel am 07.09.2006 - 00:26 |
Hi.
Das ist mir schon klar, dass man in einem Brettspiel 2x hintereinander ne 6 würfeln kann.
Aber das war hier nicht die Frage. 
Sondern eigentlich vielmehr, wie man das anhand eines Scriptes gut lösen könnte.
Zur Not bleibt die Schleife weg.
Kann man im kleinen Zufallsgrafik Script auf dieser Seite dieser OnClick (also Bilderwechsel nur bei einem
Klick auf den Button) irgendwie einbauen? |
| geschrieben von Micha am 07.09.2006 - 08:33 |
Hallo elmospiel,
| Zitat | | | Original geschrieben von elmospiel am 07.09.2006 - 00:26
Das ist mir schon klar, dass man in einem Brettspiel 2x hintereinander ne 6 würfeln kann.
Aber das war hier nicht die Frage.  |
Doch, da Du zunächst ein zufallsbild haben willst und zwei Sätze später nicht mehr an einer _echten_ Zufälligkeit interessiert bist, da Bilder doppelt kommen. Da aber alle Bilder gleichwahrscheinlich sind, würdest Du mit einem Ausschluß den anderen Bildern mehr Gewicht zu kommen.
| Zitat | | | Original geschrieben von elmospiel am 07.09.2006 - 00:26
Sondern eigentlich vielmehr, wie man das anhand eines Scriptes gut lösen könnte.
Zur Not bleibt die Schleife weg. |
zB mit Cookies, Uhrzeitabhängig oder allg. Datumsabhängig und sicher noch ein paar andere Mechanismen
| Zitat | | | Original geschrieben von elmospiel am 07.09.2006 - 00:26
Kann man im kleinen Zufallsgrafik Script auf dieser Seite
|
Welches?
| Zitat | | | Original geschrieben von elmospiel am 07.09.2006 - 00:26
Bilderwechsel nur bei einem
Klick auf den Button irgendwie einbauen? |
Ja, kann man.
Speichere die Bilder in einem Array. Mische dieses zB so:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
| Array.prototype.rand = function(){
for(var i=0; i<this.length; i++){
var val = Math.floor(Math.random() * this.length);
var temp = this[i];
this[i] = this[val];
this[val] = temp;
}
} |
zweige das erste Zufallsbild an und bei jedem Klick gehst Du im Index eins weiter...
LG Micha
|
| geschrieben von elmospiel am 07.09.2006 - 18:45 |
|
| geschrieben von Micha am 07.09.2006 - 21:02 |
Hi,
Das Array dort heißt "image". Das kannst Du mischen:
| HTML-Quelltext | 1:
| image.rand(); |
das kann dann weg:
| HTML-Quelltext | 1:
2:
| var num = Math.random();
var ran = Math.floor((image.length - 1) * num); |
dafür benötigen wir noch einen index:
| HTML-Quelltext | 1:
| var index = 0; |
Statt document.write wäre es sinnvoller, das src-Attribut der Graphik direkt auszutauschen. Dazu kannst Du Dir mir document.images eine Referrenz auf das entsprechende Bild holen und dann ganz normal eine Eigenschaft von diesem ändern nach folgendem Proinzip:
| HTML-Quelltext | 1:
| meinBild.src = "./neue/Adresse/des/Bildes.png"; |
statt dem Pfad nimmst Du natürlich das Array und den deklarierten index:
| HTML-Quelltext | 1:
| image[index] |
Nun willst Du das Bild beim klicken tauschen. Dazu bietet sich onclick an. Diese muss eine Funktion ansprechen, die den index erhöht.
| HTML-Quelltext | 1:
2:
3:
4:
| function erhoehe(){
index++;
index=index>=image.length?0:index;
} |
| Zitat | | | Und genau das ist mein Problem. Ich kenne mich mit dem Java-Script überhaupt nicht aus.
Von daher war meine Frage, ob es ein solches Script gibt. |
Nun kennst Du die Zutaten und das Rezept, nachkochen musst Du es. Bei fragen steh ich Dir gern zur Verfügung für fertige Lösungen nicht!
LG Micha |
|