Zufallsgenerator in HTML und CSS?
Ich schreibe aktuell an einer Website , es geht darum, dass man Witze nachlesen kann. An sich komme ich super voran, aber ich suche eine Möglichkeit, dass am Anfang der Seite oben immer ein zufällig ausgewählter Witz aus einer Liste steht. Dass Mächte ich ohne PHP und Ohne Java Script machen, da ich dort nicht die nötigen Vorkentnisse habe. Ich kann maximal einen fertigen Java Script in die index.html einfügen.
3 Antworten
Hallo ChiefofGame,
mit HTML und CSS alleine wirst du das nicht umsetzen können. Und warum? HTML ist eine Aufzeichnungssprache, mit der man nur Texte, Bilder, Videos, Hyperlinks, usw. im Browser anzeigen kann und mit CSS kann man das dazupassende Design basteln (Farben, Größe, usw.).
Meine Empfehlung wäre JavaScript, da man mit dieser Programmiersprache alle nötigen Funktionen bauen kann (z.B. ein Suche-Feld oder deinen Zufallsgenerator). Schau mal hier und hier, vielleicht wirst du dort fündig.
Ich hoffe, dass dir das weitergeholfen hat.
Freundliche Grüße
Ich selber bin in Java unterwegs, aber ich habe mal ein bisschen rum expertimentiert, was eigentlich deine Aufgabe gewesen wäre. ;-)
Jedenfalls ist hier das Script:
var text = new Array(
'Witz1',
'Witz2',
'Witz3'
);
var anzahl = text.length;
var i = anzahl;
var temp;
while (i--) {
var j = Math.floor(Math.random() * anzahl);
temp = text[i]; text[i] = text[j]; text[j]= temp;
}
console.log(temp);
Das Problem ist nur, dass du vermutlich jeden Tag einen neuen Witz anzeigen lassen willst. Dafür wüsste ich in JS keine Lösung. Abgesehen davon besteht die Gefahr, dass die Witze nachdem du einen neuen anzeigen willst, doppelt vorkommen können. Dafür müsstest du eine Lösung finden.
PS.: Ich übernehme keine Garantie, dass das alles 100%ig korrekt ist! Meine Programmiersprache ist Java und nicht JavaScript.
Nur auf die Logik bezogen: Wieso tauschst du in einer Schleife die Array-Elemente hin und her? Einen zufälligen Index zu ermitteln reicht völlig aus.
Erstmal danke für dein Feedback!
Und hier:
PS.: Ich übernehme keine Garantie, dass das alles 100%ig korrekt ist! Meine Programmiersprache ist Java und nicht JavaScript.
;-)
Deswegen habe ich mich nur auf die Logik bezogen. Die wäre in beiden Sprachen gleich. 😉
Das geht nicht
Füge alle Witze in eine Array ein und hole dann einen Zufallswert heraus.
Bsp.:
var jokes = [ "joke 1", "joke 2", /* ... */ ];
var randomJoke = jokes[Math.floor(Math.random() * jokes.length)];
PS.: Da ich es nicht dazugeschrieben habe - dies wäre eine Lösung via JS. Für Logikimplementation wird mindestens eine Programmiersprache benötigt.
vielen dank erstmal, aber hättest du einen fertigen script? ich weiß ich sollte es selber probieren, und dass werde ich auch, aber ich habe Zeitdruck. Es gibt eine WA Gruppe namens Witzesammlung, in der die Website schon sehnlichst erwartet wird, und ich habe da jetzt eine leere textbox eingefügt, die komplett fertig formatiert ist aber halt noch nix drin steht. Das ist das einzige was noch fehlt und es soll auch schon heute release sein... deswegen drängt die Zeit