Skip to content

Trance

Javaskript
Sieht ja gar nicht psychedelisch aus ....

Letztens hatte ich einmal die Gelegenheit, bei mir bewusst zu beobachten wie ich in eine Art Problemlösungs-Trance falle. Das dürfte auch so eines der offensichtlicheren Anzeichen für Autismus bei mir sein. Ausgelöst wurde das ganze dadurch, dass ich mich bei meinem Auftrags-/Montageverwaltungssystem darüber geärgert habe dass man in der Wochenansicht immer auf den Montag der laufenden Woche springt und dann zum aktuellen Wochentag springen muss um zu sehen was in welcher Reihenfolge für den Tag geplant ist. Am Sonntag ist das dann ganz blöd, dann muss man auch noch erst mal zur nächsten Woche wechseln. Es musste also eine Lösung dafür her und im Prinzip geht das in dem html-Dokument mit einem Anker ganz einfach zu lösen.

Ich brauchte dafür dann auch zwei Anläufe, denn das ist eine ganz blöde Idee, das "mal schnell" ändern zu wollen während man noch ein paar andere dringende Sachen zu machen hat. Denn schnell stellte sich nur heraus, dass bei beiden möglichen Aufrufen der Wurm drin ist: wenn man von einer externen Seite kommt, berücksichtigt der Anker nicht das feststehende Kopfelement mit der Steuerungsleiste. Und wenn man ohne externen Link die Woche aufruft, wie kommt man dann aus dem PHP-Teil zu einem Anker in einem noch zu generierenden Dokument?

Es ist jedenfalls ein ganz mieses Gefühl wenn man nur ein paar Minuten für etwas Zeit hat und während man sich in das Problem hineindenkt und hineingezogen wird feststellt dass es nicht in ein paar Minuten zu lösen ist. Beim nächsten Anlauf wurde das sogar noch deutlicher. Normalerweise mache ich so was ja nach Feierabend, da habe ich mehr Ruhe und weniger Menschen die mich dabei stören. Vielleicht auch einer der Gründe, warum ich wie viele andere meiner Sorte abends richtig in Schwung komme wenn alle anderen im Bett liegen. In dem Fall war das während der normalen Geschäftszeit und es gibt tatsächlich so eine Art Trancezustand in den ich hineinrutsche wenn ich wirklich komplizierte Probleme lösen muss. Gerade bei so einem Programmierproblem funktioniert das ja nur indem man nach Lösungen per Google sucht, die Lösungsideen dann mit der Programmiersprachendokumentation quer prüft und schlussendlich herumprobiert. Ich kann das nur als eine Art Sog beschreiben der in eine Trance führt, am banalsten mit Einschlafen vergleichbar. Nur dass ich das deutlich gemerkt habe weil ich regelmäßig gestört wurde und dadurch unsanft aus der Trance gerissen wurde. Und dann beschweren sich die Menschen, dass ich dann etwas garstig bin ...

Eine Hälfte des Problems war dann einfach zu lösen: In PHP kann man eine Variable erstellen und am Ende des Dokuments, wenn die Sprungmarke erzeugt ist abhängig von der Variablen ein Javaskript ausführen was "Hashchange" macht, also diesen Anker anspringt. Nur die zweite Hälfte, also der Versatz für die mit Position:absolute feststehende Kopfleiste war deutlich schwieriger. Das geht auch mit Javaskript, diesmal aber mit ScrollTop, aber die Lösung die ich im Netz gefunden habe hat nicht funktioniert.

Das ist auch so etwas was mir regelmäßig passiert, am Besten beschreibt man das mit dem "schwarzen Kasten" aus der Feuerzangenbowle. Wenn ich fertige Lösungen als schwarzer Kasten einbaue ohne sie zu verstehen, dann kann man darauf wetten, dass es nicht funktioniert. Und weil ich ja nicht weiß wie der schwarze Kasten funktioniert habe ich dann ein Problem. In dem Fall hat der Autor des Skriptes nicht dabeigeschrieben dass es sich nicht um einfaches Javascript handelt, sondern wohl um welches was für JQuery oder so aufgemotzt ist. Im Endeffekt musste ich dann erstmal einen Weg finden wie man Javaskript debuggt (das geht genauso wie bei BASIC mit Output zur Konsole), und dann habe ich das Skript Zeile für Zeile umgeschrieben nachdem ich herausgefunden habe was es eigentlich Schritt für Schritt macht beziehungsweise bei mir machen soll. Und ich musste dann noch herumprobieren, welches der richtige Trigger ist. Hashchange war es jedenfalls nicht, denn der Anker ist ja schon definiert wenn die Seite geladen wird und ändert sich nicht. DOMContentLoaded funktionierte einfach nicht, im dritten Anlauf Load dann schon.

Mit einfachen Worten: so etwas ist kompliziert aber gleichzeitig passe ich mich an in dem ich mich voll auf so ein Problem konzentriere und das notfalls stundenlang. Besser gesagt: das Zeitgefühl geht in dem Trancezustand auch flöten. Es ist aber wie mit allem: Den Vorteil so wirklich schwierige Sachen hinzubekommen, erkauft man mit schlechter Verträglichkeit mit anderen Menschen, denn wer einen dabei stört wird alles andere als freundlich behandelt, eben vergleichbar mit jemanden, der einen völlig unnötig gerade aus den schönsten Träumen reißt.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Formular-Optionen

Sie können auch über neue Kommentare informiert werden ohne einen zu verfassen. Bitte geben Sie ihre email-Adresse unten ein.