Zufalls-Sortierung JavaScript
web-starter
- html
- javascript
Hi,
ich bin gerade dabei, einen Adventskalender selbst zu erstellen.
Im Tutorial von SELF-HTML (https://wiki.selfhtml.org/wiki/HTML/Tutorials/Adventskalender) wird erwähnt, dass die Zufallssortierung der einzelnen Türchen leicht mit JavaScript umgesetzt werden kann.
Ich habe jetzt schon einige Stunden recherchiert, aber leider keinen Weg gefunden, wie ich dies erreichen kann.
Da ich noch recht unerfahren mit Web-Programmierung bin, habe ich den Kalender genau gleich aufgebaut, wie das im oben genannten Tutorial auch gemacht wird.
Es würde mir also reichen, wenn jemand die Zufallssortierung mit JavaScript anhand von diesem Tutorial erklärt:)
Vielen Dank im Voraus!
Hallo web-starter,
Es würde mir also reichen, wenn jemand die Zufallssortierung mit JavaScript anhand von diesem Tutorial erklärt:)
Hast du schon den zweiten Teil angeschaut, der ziemlich am Anfang verlinkt ist?
Das, was dort mit PHP gemacht wurde, geht grundsätzlich so auch mit JavaScript.
Für range siehe https://stackoverflow.com/questions/3895478/does-javascript-have-a-method-like-range-to-generate-a-range-within-the-supp. Zur Not kann man das Array auch händisch definieren:
let order = [1,2,3, // bis 24 ];
Und mischen kann man auch: https://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array
Bis demnächst
Matthias
Hallo Matthias,
wird erwähnt, dass die Zufallssortierung der einzelnen Türchen leicht mit JavaScript umgesetzt werden kann.
Dieser Satz ist heimtückisch, es ist nämlich überhaupt nicht leicht. Weil man nämlich erstmal festlegen muss, was überhaupt passieren soll.
Man müsste sich erstmal klar werden, wie die Anforderungen an die Zufallssortierung sein sollen. Ein "blinder" Zufall kann nämlich zu einem Kalender führen, der ziemlich sortiert aussieht. Bei einer "von Hand" erstellten Zufallsmischung kann man das beeinflussen.
Der Kalender im Wiki ist handgemischt und hart codiert, deshalb bleibt die Mischung erhalten. Aber wie soll's bei einem automatisch gemischten Kalender sein? Gleiche Anordnung für alle? Jeder eine eigene Anordnung, aber wenn die erstmal festgelegt ist, bleibt sie so? Oder bei jedem Seitenabruf eine neue, zufällige Anordnung?
Wenn das erstmal klar ist, dann würde ich die Kalendereinträge in einem JavaScript-Array eintragen, nicht im HTML. Es ist nämlich deutlich umständlicher, sich die Einträge aus dem DOM zu holen und zu mischen.
Rolf
Hallo Rolf B,
Der Kalender im Wiki ist handgemischt und hart codiert, deshalb bleibt die Mischung erhalten.
nur im Teil 1.
Aber wie soll's bei einem automatisch gemischten Kalender sein? […] Jeder eine eigene Anordnung, aber wenn die erstmal festgelegt ist, bleibt sie so?
So ist es im Teil 2 umgesetzt.
Wenn das erstmal klar ist, dann würde ich die Kalendereinträge in einem JavaScript-Array eintragen, nicht im HTML. Es ist nämlich deutlich umständlicher, sich die Einträge aus dem DOM zu holen und zu mischen.
Sie können doch durchaus geordnet im HTML stehen. Mit JS lässt sich das stylesheet erzeugen, das mit order die entsprechende Reihenfolge festlegt.
Bis demnächst
Matthias