Rolf B: Frage zum Wiki-Artikel „Multiple-Choice-Quiz“

Beitrag lesen

problematische Seite

Hallo AC,

das Beispiel, das Du da als Vorlage verwendet hast, ist nicht wirklich für zwei Quizze in einer Seite ausgelegt.

Deswegen funktioniert es auch nicht, einfach den JavaScript-Code zu doppeln. Eigentlich brauchst Du den Code nur einmal, was gedoppelt werden muss, sind die Daten - also die Quizfragen - und der Programmcode muss so angepasst werden, dass man ihm unterschiedliche Fragensets vorlegen kann.

Das Quiz-Objekt, das von dem JavaScript-Code erzeugt wird, enthält eine data Eigenschaft mit den Fragen. Dieses Eigenschaft, und nur diese Eigenschaft, muss für unterschiedliche Quizze unterschiedlich belegt werden. Erst nachdem das geschehen ist, darf myQuiz.init() aufgerufen werden, um das Quiz zu starten. Matthias hat das vor ein paar Tagen auf der Wiki-Seite als Anmerkung notiert.

Hab jetzt schon viel gelernt über html, css und jave ;-)

JavaScript, nicht Java. Dazu hatte Altmeister Cheatah dies zu bemerken...

Viel gelernt - sicher. Aber längst nicht genug, um einen mit funktionaler und objektorientierter Programmierung vollgestopften, schlecht dokumentierten und nicht selbstdokumentierenden Codeklops wie dieses Script verstehen zu können (der auch noch Fehler enthält, wie das "use strict"; hinter dem Array-Polyfill). Der Code ist auch nicht mehr modern, er nimmt noch an vielen Stellen auf Altbrowser Rücksicht, was die Lesbarkeit weiter erschwert.

Und leider hat sich diese Wiki-Seite darauf beschränkt, das Quiz dahinzukübeln. Als Tutorial müsste es den Code Punkt für Punkt erklären. Matthias und ich haben im Moment aber nicht die Ressourcen, das zu verbessern.

Den Array.from Polyfill brauchst Du heutzutage übrigens nicht mehr. Der kann als erstes weg (also alles vor dem "use strict").

Rolf

--
sumpsi - posui - obstruxi