Der Ansatz ist schon richtig, sofern $woerter ein Array ist, wird auch Wortliste eines sein. Dann kannst Du ein zufälliges Wort wie folgt auswählen:
Beiträge von Sempervivum
-
-
Ja, jetzt wo ich das sehe, verstehe ich, was Du vor hast. Da warst Du aber fleißig, ein Array mit 600 Wörtern! Oder ist das mit PHP generiert?
Mein Code funktioniert bei mir einwandfrei. Ich hatte ihn zunächst nur mit Ziffern getestet und mit Wörtern funktionierte er nicht. Dann habe ich ihn korrigiert und in meinem Posting geändert. Hast Du vielleicht vorher die fehlerhafte Version genommen?
Wenn Du bei jedem Druck auf Start ein neues Wort auswählen willst, wäre es natürlich besser, das ganze Array in JSON zu kodieren und von PHP an JS zu übergeben.
-
Wenn die Wörter untereinander, durch Zeilenumbruch getrennt, stehen, kann man sie viel einfacher mit der Funktion file() in ein Array einlesen.
Für den oberen Grenzwert bei Aufruf von rand() besser die Anzahl der Wörter durch count() ermitteln.
Wenn Du im PHP nur ein einziges Wort ausgibst, brauchst Du dieses nicht mit jcon_encode() zu kodieren.
Dieses funktioniert bei mir:
-
Zitat
Jetzt muss ich nur meine Textdatei mit den Wörtern in einen Array bekommen
Würde ich automatisch mit einem PHP-Skript machen. Poste die Struktur der Textdatei, dann kann man dir die wenigen Zeile Code geben.
ZitatHab versucht mit json_encode einen php Array zu übergeben.
Das ist sicher der richtige Ansatz. Hast Du es so versucht?:
-
-
Das Problem liegt offenbar hier:
Dieses onload feuert nicht nur, wenn die Seite zum ersten Mal geladen wird, sondern auch jedesmal, wenn Du das src-Attribute änderst, um ein neues Bild anzuzeigen, denn dabei wird dieses Bild jeweils geladen.
Durch die vielen Mini-Funktionen ist der Code schwer zu lesen, ich empfehle, es zu straffen.
Außerdem empfehle ich, die Bildadressen in einem Objekt abzulegen:
Codevar bilder = {}; bilder.a = "FA/FA_A.png"; bilder.b = "FA/FA_B.png"; bilder.c = "FA/FA_C.png"; bilder.d = "FA/FA_D.png"; // usw.Dann kann der ganze Switch entfallen und es reduziert sich auf:
-
Trifft zu, verlässliche Quellen weisen darauf auch hin, z. B. hier:
-
Ja, der Browser prüft, ob die Eingabe dem Pattern bzw. der Regex entspricht und setzt entsprechend die Eigenschaft "validity.valid". Diese kannst Du in Javascript auswerten.
-
So etwas wird von der Formularvalidierung unterstützt und benötigt zunächst kein Javascript. Informiere dich darüber. Dabei kannst Du ein Pattern in Form einer Regex angeben. In deinem Fall wird die relativ einfach sein:
Je nachdem, wie und wann Du die Fehlermeldung ausgeben willst, kann es sein, dass Du zusätzlich Javasript benötigst.
-
Zitat
das mach ich wohl über einen Provider (??). Aber was ist das?? Kostet das was?? Was ist, wenn ich meinen Internetanbieter wechsel, bleibt dann der Provider??
Ein Provider ist jemand, der Webspace anbietet, auf den Du deine Homepage hoch laden und online stellen kannst. Er ist unabhängig von Anbieter deines Internetzugangs und Du brauchst ihn nicht zu wechseln, wenn Du den Internetanbieter wechselst.
Zitat
Welchen Webspace würdest du empfehlen?Kostenlos würde ich ebenso wie Lauras bplaced.net empfehlen. Kostenpflichtige gibt es sehr viele. Ich selber bin bei all-inkl und sehr zufrieden, Schneller, kompetenter und kostenloser Support. Allerdings ist das kleinste Paket mit 5 € relativ teuer und vielleicht etwas überdimensioniert für den Anfang. Strato und Alfahosting sind allerdings auch nicht viel günstiger, wenn man nicht auf PHP verzichten will.
-
-
Leider habe ich keine fundierten Kenntnisse in der Implementierung von Browsern, aber weil dir sonst niemand antwortet, versuche ich es mal: Offensichtlich liegen hier Unterschiede in der Implementierung der Browser vor. Ich würde dem nicht so große Bedeutung beimessen, weil Alerts eher geeignet sind, quick and dirty, mal eben etwas anzuzeigen oder abzufragen. Für eine wirklich brauchbare Benutzeroberfläche wird man eher Ein- und Ausgabefelder, evtl. auch Modale benutzen.
Außerdem empfehle ich, auf document.write zu verzichten, weil das Verhalten u. U. schwer zu durchschauen ist.
-
Hier wird das gleiche Problem beschrieben und Lösungen angegeben:
-
Wie lädst Du denn nach, mit jQuery, $.ajax oder $("selector").load, oder mit xmlhttprequest? Und tritt das Problem bei allen Browsern auf?
-
Interessantes Problem.
Code"einfach nochmal aufrufen" habe ich gelesen, aber ich habe kein (Click-)Ereignis, sondern der Code soll ausgeführt werden, sobald das HTML in das entsprechende Element geladen istWäre es eine Alternative, das Javascript im success-Event (bei jQuery) auszuführen? Ich finde es ohnehin verwirrend und schlecht zu überblicken, wenn in Inhalten, die mit Ajax geladen werden, Javascript enthalten ist.
-
Wären es Radiobuttons, wäre es ein Leichtes, es mit CSS zu realisieren, aber mit select kenne ich nur eine Lösung mit Javascript:
Code
Alles anzeigen<select id="select1"> <option value="opt1" selected>Option 1</option> <option value="opt2">Option 2</option> </select> <div class="content">Content 1</div> <div class="content" style="display:none;">Content 2</div> <script> select1.addEventListener("change", function() { var cont = document.querySelectorAll(".content"); for (var i = 0; i < cont.length; i++) { if (i == this.selectedIndex) cont[i].style.display = "block"; else cont[i].style.display = "none"; } }); </script> -
-
Möglicher Weise ein Problem mit dem Cache:
https://superuser.com/questions/8980…n-google-chrome
Das Hintergrundbild braucht ewig lange zum Laden, kein Wunder bei über 4 MB. Ich konnte es ohne sichtbaren Qualitätsverlust auf ca. 800kB komprimieren.
Außerdem wird das Hintergrundbild je nach Seitenverhältnis des Browserfensters verzerrt. Besser background-size:cover verwenden:
-
-
Von Bootstrap habe ich leider keine Ahnung, aber hier wird angegeben, dass man das Styling durch Bootstrap machen lassen kann: