Was sagt denn nun die Console?
Beiträge von Sempervivum
-
-
Für Firefox gibt es z. B. diese Anleitung:
https://developer.mozilla.org/de/docs/Tools/Debugger
Chrome und Opera:
-
Zitat
dass man da den Code Zeile für Zeile ausführen kann und gucken, was jeweils die Zwischenergebnisse (z.B. Variable) sind.
Gibt es das auch für javascript?
Selbstverständlich, in den Entwicklerwerkzeugen aller gängigen Browser findest Du einen Debugger, mit dem Du Haltepunkte setzen, den Code Schritt-für-Schritt ausführen, Variablen anzeigen etc. kannst.
-
Strg-Umsch-I bzw. F12 im IE. Dort findest Du einen Reiter "Console", wo Fehlermeldungen etc. ausgegeben werden.
Ich habe es übrigens mal ausprobiert und es hat einwandfrei funktioniert, auch Crossdomain.
-
Da fällt schnell auf, dass die Namen nicht eindeutig sind:
name: 'ntext' + i,
i fängt ja bei jedem Aufruf der Funktion wieder bei 0 an. Offenbar verwendet jCanvas den Namen auch für seine interne Buchführung, so dass es zu Problemen kommt. Gib dem Namen einen Zusatz, der ihn eindeutig macht.
ZitatDas gleiche passiert mit den Namen wenn ich im Canvas an einer beliebigen Stelle klicke.
Das überrascht zunächst, aber ich vermute stark, dass jCanvas einen Click-Listener für das ganze Canvas registriert und darin dann prüft, auf welches Element der Klick zutrifft.
-
Hast Du mal einen Blick auf die Console geworfen?
-
-
Ich wollte dir nur die grobe Richtung zeigen. Ja, da war noch ein Fehler drin und deine Korrektur ist richtig. Mit thefunction meine ich die Funktion, von der Du im Eingangsposting geschrieben hast. Die musst Du natürlich selber definieren.
-
-
Den Fehler habe ich eben auch nicht gesehen:
setLayer('yy', {
Du willst ja nicht den String 'yy' übergeben, sondern den Inhalt der Variablen yy, die den Namen enthält. Nimmt man die Hochkommas weg, funktioniert es.
-
-
Nein, wie MrMurphy schon schrieb, geht das nur eingeschränkt und mit Tricks und ist nicht zu empfehlen:
https://css-tricks.com/float-center/
Nimmt man Javascript zu Hilfe, kann man das Bild auch einiger Maßen vertikal zentrieren, aber ebenfalls eher nicht zu empfehlen:
-
Das leistet die jQuery-Funktion serialize():
-
Ich habe mir die Testseite aus Post #7 angesehen. Was fehlt denn jetzt noch? Habe mir deine weiteren Postings angesehen, aber es nicht verstanden.
-
-
-
Dann würde ich empfehlen, das Skript-Element dynamisch zu erzeugen und in den Head einzufügen:
Code$(document).ready(function() { if (theWidth > 800) { var tag = document.createElement("script"); tag.src = "deinscript.js"; document.querySelector("head").appendChild(tag); // ggf. weitere } });
(ungetestet)
-
Das klingt stichhaltig. Verstehe ich das richtig: Auf mobilen Geräten möchtest Du nicht Datatables sondern ein anderes, vereinfachtes Skript, zum Laden verwenden?
Und du schreibst, dass die Tabelle recht groß ist. Könnte dann auch die Ladezeit der Daten eine Rolle spielen?
-
Was Du vorhast, lässt sich machen, aber warum so kompliziert und das Skript bedingt laden? Einfach das Skript unbedingt laden und die Anweisungen, die Du brauchst, bedingt ausführen.
-
Hiermit bist Du schon auf dem richtigen Wege. Was noch fehlt, ist dieses:
Codevar daswort = wort[Math.floor(Math.random()*wort.length)]; document.getElementById("wort").innerHTML = daswort;
Und ebenso mit der Beschreibung.
Und informiere dich, wie man mit Funktionen arbeitet, z. B. direkt hier bei HTML-Seminar: