Bist Du sicher, dass deine Lösung aus #7 richtig funktioniert? Ich habe es zwar nicht getestet, aber im Code vermisse ich das else. So erwarte ich, dass im Falle dass sich die ID ändert, die betr. Zeile doppelt ausgegeben wird?
Beiträge von Sempervivum
-
-
Zitat
Meinst du damit, dass wenn man weis wie viel Klassen vorhanden sind nach jedem Durchgang eine Variable hochzählt und wenn der Wert dieser Variable gleich der Summe aller vorhandenen Keys ist diese Variable wieder zurückgesetzt wird und von neu anfängt hochzuzählen?
Ja, so habe ich es gemeint. Diese Variable gibt den Index (Key) im Array an.
ZitatMein oben gezeigtes Script tätigt nur im ersten Durchlauf die Ausgabe weil dann dien Id nicht ungleich der objektId ist.
Da musste ich nun nurnoch im Else Block die anderen Reihen ausgeben.
Genau das hatte ich in Posting #2 gemeint.
-
Zitat
Zusätzlich habe ich noch ein Array mit Classennamen erstellt welche dann dynamisch mit shuffle zugeordnet werden. Dies klappt auch nicht so gut weil es immer vorkommen kann, dass auch mal gleiche Klassen ausgegeben werden.
Das ist das Wesen eines zufälligen Shuffle, dass das erste Element auch mal unverändert bleiben kann. Das kannst Du unterbinden, indem Du die Farben der Reihe nach auswählst durch Führen eine Index für das Array.
-
-
Was den Winkel betrifft, so scheint es mir einfacher zu sein, auf Tangens und Arcus-Tangens zu setzen.
Was die Animation betrifft, so würde ich auch hier empfehlen, eine Bibliothek einzusetzen statt immer von Neuem das Rad neu zu erfinden.
-
Ich weiß nicht, ob dein Objekt so vorgegeben ist, aber in meinen Augen ist es ungünstig angelegt und erschwert die Programmierung und das Verständnis. Ich würde es so machen:
Dann vereinfacht sich die Schleife zu:
-
Gern geschehen, freut mich, dass es funktioniert!
-
So müsste es mit dem Callback aussehen:
Code
Alles anzeigenfunction showPosition(position) { x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude; $.post("phpexample.php", { latitude: position.coords.latitude, longitude: position.coords.longitude }, function (data) { // im Parameter data steht jetzt die Ausgabe // des PHP-Skriptes zur Verfuegung console.log(data); }); }
-
Zitat
müsste er die php Datei aufrufen und die Daten erneut anzeigen
Ersteres tut er, letzteres nicht von allein: Damit die Ausgabe des PHP-Skriptes auf der Seite sichtbar wird, musst Du die Callback-Funktion wieder hinzu fügen. In deren Eingangsparameter (z. B. out oder data statt return) steht dann die Ausgabe des PHP-Skriptes zu Verfügung. Überzeuge dich davon, indem Du sie mit console.log anzeigen lässt.
-
Ja, die Post-Aktion wird die PHP-Datei aufrufen und deren Ausgabe steht dann im Parameter der Callback-Funktion zur Verfügung, wenn Du diese wieder hinzu fügst.
-
Erklärungen und Codebeispiele findest Du z. B. hier:
-
-
Da ist die Reihenfolge bei den schließenden Klammern falsch:
Codefunction showPosition(position) { x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude; $.post( "phpexample.php", { latitude: position.coords.latitude, longitude: position.coords.longitude }); // hier war der Fehler }
Mache dich mit der Console vertraut, dort werden solche Fehler angezeigt.
-
Da gibt es noch einige andere Probleme:
- Schließende runde Klammer am Ende des $.post fehlt
- Keine reservierten Wörter wie return bei Variablen- oder Parameternamen verwenden.
- Das $.post musst Du in die Funktion showPosition verschieben, weil sonst die Variable position nicht definiert ist.
- Schreibfehler postion
-
-
Nein, gibt es leider nicht. Die Browser schließen aus Sicherheitsgründen den Zugriff auf das lokale Dateisystem mit Javascript aus. Und das ist gut so: Nicht auszudenken, wenn jede x-beliebige Website Zugriff auf meine lokalen Dateien hätte. Ausnahmen sind lediglich die Filereader-API und Skripts zum Speichern von Dateien. Diese ermöglichen den Zugriff aber auch nur durch Interaktion mit dem Benutzer.
-
Ja, den Debugger zu benutzen, erfordert schon etwas Erfahrung. Dieser zeigt auch nicht die Fehler direkt an, sondern man muss den Code Schritt für Schritt untersuchen, um den Fehler einzugrenzen und zu lokalisieren.
Fällt mir nur noch ein, meine Empfehlung zu wiederholen, mit dem Admin zu sprechen und zu klären, ob der IE irgendwie modifiziert wurde, so dass dieses Skript nicht funktioniert.
-
Dann fällt mir nur noch der steinige Weg ein, die JS-Dateien in unkomprimierter Form herunter zu laden und den Fehler mit dem Debugger zu untersuchen
-
Ich habe den Code von Stackoverflow genommen und der funktioniert bei mir einwandfrei im IE11. Hast Du auch genau diesen Code verwendet oder hast Du ihn irgendwie modifiziert oder erweitert? Wenn letzteres, dann poste doch mal deine Version.
Firewall als Problemursache halte ich für unwahrscheinlich, da Du ja beim Stand deines Postings #5 die JS-Dateien selbst gehostet hattest.
Ich würde den Admin daraufhin befragen, ob irgend welche Funktionen im IE deaktiviert wurden, z. B. das lokale Speichern.
-
Ich halte es für unwahrscheinlich, dass das Problem mit diesem Button zusammen hängt. Sind in der Console irgend welche Hinweise zu erkennen? IE11 macht häufig Probleme, weil er manche Features von Javascript nicht unterstützt.
Ist das dieses Javascript:
https://github.com/SheetJS/sheet.js.org
Am besten wäre es, wenn man sich das in Aktion ansehen könnte. Hast Du die Seite online?