[<-]
Wer sich der Probleme im Umgang mit einer Technik be-
wußt ist und _dann_ vom 'geraden Weg' abweicht, der
muß sich der Konsequenzen bewußt sein.
Je mehr der Fragesteller zeigt, daß er sich auskennt,
desto weniger ist es notwendig, ihn auf Dinge hinzu-
weisen, gegen die er nicht _unbewußt_ verstoßen sollte.
ACK.
Oh! Drei bedingte Anweisungen, die die jeweiligen
Objekte abfragen! Noch einmal: bitte auf den Tep-
pich kommen.
Aber ein ganzes Kapitel SELFHTML zusätzlich zu lesen,
um zu verstehen, warum exakt diese drei Zeilen das
tun, was sie tun sollen.
Oder um es noch krasser zu formulieren: Der Einsatz
einer Programmiersprache für die Lösung eines Problems,
das alleine mit HTML auch hinreichend gut zu lösen ge-
wesen wäre.
Über das "hinreichend" lässt sich wie gesagt streiten. Du hast jedoch nur teilweise recht in der Annahme, dass es dem Lesen des kompletten Selfhtml-Kapitels bedarf, sicherlich ist es unverhältnismäßig, einem nach einem Tooptip fragenden Forenteilnehmer ohne JavaScript-Kenntnis zu raten, er solle sich nach der Lektüre des betreffenden Kapitels ein passendes Script schreiben. Wenn man annimmt, dass die Kenntnis über alle bzw. die relevanten Techniken ausreichend vorhanden ist oder die Aneignung des Wissens lediglich einer gezielten Vertiefung oder einen Auffrischung bedarf, stellt sich folglich für mich nur die Frage, ob ich zehn bis zwanzig Minuten für das Schreiben und Austesten des Scripts opfere. Selbst wenn das Ergebnis deiner Meinung nach wenig bis keinen Nutzen hat, sehe ich hier realistisch und praxisnah betrachtet keinen Grund, weshalb ich in Folge einer Virtualmasturbation (schönes Wort ;)) mein Anliegen mehrfach zu reflektieren, analysieren, synthetisieren und konklusieren sollte, um zu der Erkenntnis zu kommen, dass mich diese Hirnwichserei zu tatsächlich kein Stück weitergebracht hat und die Seite, die ich verbessern wollte, keine Veränderung erfahren hat.
Deine Darstellung "das sind doch nur drei Zeilen" ist
genau das, was die Schmarotzer in die Foren treibt und
quengeln läßt: "Gebt mir die fertige Lösung, das sind
doch nur drei Zeilen, das könnt Ihr aus dem Ärmel
schütteln!".
<arrgoant>Ja, könnten wir</arrogant> - aber die Er-
klärung, welche Nachteile diese drei Zeilen haben und
in welchen Situationen sie nicht funktionieren werden,
ist länger als drei Zeilen, und _die_ wird der Frage-
steller in diesem Moment nicht hören wollen. Er wird
eine Lösung bekommen, deren Tragweite er nicht "be-
herrscht".
ACK, diese Situation ist mir geläufig. Dazu habe ich mich aber generell schon öfters geäußert, ich denke jedoch, dass es auf diese Diskussion nicht zutrifft. Ich weiß selbst, dass das Verhalten sowie das "Anspruchsdenken" der Supporsuchenden enorm nervig ist und meine Antworten auf solche hingerotzten Postings sind auch nicht immer freundlich, rational und ausreichend erklärend, aber dann stehe ich dazu, dass ich mit meiner patzigen Antwort selbst zufrieden bin oder gar stolz auf sie bin, auch wenn sie die Reaktion verständlich sein mag.
Und das ist es, was ich mit "schlechter Service" meine:
Ich würde dem Fragesteller ein Flugzeug verkaufen, ohne
ihn zu fragen, ob er eine Fluglizenz hat. Das ist nicht
mein Stil. Nenne es arrogant, wenn Du möchtest - ich
würde es "fürsorglich" nennen.
Das meinte ich nicht; darin widerspreche ich dir nicht, das befürworte ich uneingeschränkt.
Ich sehe keine Fehlerquelle, es geht um eine simple
Zuweisung visibility='visible'. Diesbezüglich hat
Jan alles gesagt.
Die Fehlerquelle lautet "Es geht nicht" - ausgesprochen
von einem Benutzer, bei dem diese Zuweisung entweder
nicht funktioniert oder gar nicht erst ankommt (Brow-
ser-Konfiguration des Firmen-Admin, filternde Firewall,
veralteter Browser, whatever).
Es wurde bereits ausdrücklich und in aller Ausführlichkeit durchgekaut, dass es sich in diesem Fall um ein optionales JavaScript handelt, wie übrigens nahezu alle clientseitigen Skripte im öffentlichen Internet sein sollten (da gibt es natürlich Ausnahmen... welche die regelhaftigkeit der Regel bestätigen).
Wer sich dieser Konsequenzen nicht bewußt ist, setzt
etwas ein, das er nicht versteht - und kann nicht re-
agieren, wenn ein Besucher ein Problem damit hat.
Das ist tatsächlich ein schwerwiegendes Problem. Nur leider ist es eine grundlegende Notwendigkeit, dass man Techniken benutzt, über welche man kein tiefergehendes Verständnis hat - folglich sollte ein Seitenautor sich entweder ausreichend in die Materie einarbeiten, damit er das Risiko abgeschätzen und letztendlich die Konsequenzen tragen kann.
Ich würde in diesem Falle niemandem raten, ein fertiges fremdes Skript zu benutzen, wenn nicht das Interesse besteht, die Funktionsweise und damit die möglichen Unzulänglichkeiten in Erfahrung zu bringen.
Wir reden hier nicht von komplexem Programmcode.
Doch, das tun wir.
Jeder Programmcode ist komplex, und einer, der als
Grundlage für seine Funktion das Verständnis des
kompletten DOM-Systems voraussetzt, ist _wesentlich_
komplexer als beispielsweise eine Zählschleife von 1
bis 100 - obwohl diese als mehr Zeichen im Quelltext
besteht.
Ok, ACK, das stimmt schon. Bei einer einzelnen Wertzuweisung besteht dennoch eine recht überblickbare Misserfolgswahrscheinlichkeit und die tatsächlich möglichen auftretenden Fehler sind IMHO kalkulierbar. (Du kannst natürlich jetzt anzweifeln, dass die Konsequenzen keinesfalls kalkulierbar sind, aber dann drehen wir uns wieder im Kreis. Da es einen kleinsten gemeinsamen Nenner nicht einmal für HTML gibt [welcher UA kann heutzutage schon HTML 2 *fg*], muss man Anforderungen stellen, aber mit der Wirkung rechnen, d.h. mehr oder weniger Schadensbegrenzung betreiben).
Es ist eine simple Objekteigenschaftwertzuweisung,
welche durch einen Event-Handler ausgelöst wird.
Du bist anscheinend genau in der Phase des Wissens-
erwerbs, in der Du vergessen hast, daß Dinge, die Du
beherrschst, früher einmal schwierig für Dich waren.
Diese Phase gibt es nicht, es ist ein unaufhörlicher Zustand. Gestern plagte man sich mit $Thema herum und es war unverständlich, heute setzt man es "mit links" ein und stattdessen bereitet ein anderer Lernvorgang Probleme bzw. stellt eine Herausforderung dar.
Aus dem Blickwinkel von reinem HTML-Wissen sind Be-
griffe wie "Objekt" und "Event-Handler" etwas, das
nicht innerhalb von wenigen Minuten zu vermitteln ist.
Und _das_ ist die Komplexität der Lösung - nicht die
konkreten drei Zeilen, sondern das Wissen, warum es
_diese_ drei Zeilen sein müssen.
Da ist schon etwas dran. Vom Standpunkt eines Seitenautors, welcher ausreichenden Einblick in die DOM-Funktionen hat, kann jedoch nicht behauptet werden (ja, IMHO), dass die eine Wertzuweisung eine programmiertechnische/algorithmische Komplexität besitzt im Sinne der Leistung, die von genau diesem Seitenautor gebracht werden muss - das nötige Vorwissen einmal ausgeklammert. Auch möchte ich behaupten, dass die Anweisung für den Interpreter des Browsers vergleichsweise wenig komplex ist.
Tatsächlich fällt es mir oft schwer, mir die Fülle meines Wissens vor Augen zu führen, da mir ständig Menschen begegnen, welche noch mehr Fähigkeiten im Bezug auf bestimmte Bereiche haben. Wenn ich daraufhin mit jemanden zusammenzutreffe, welcher sich gerade die Grundlagen von HTML erarbeitet, bedarf es einer anstregender Empathie und Verständnis.
Dein Posting war engagiert genug, um diese "komplexe"
Antwort zu rechtfertigen - ich hoffe, sie nützt Dir
etwas.
Ja.
Denn ich möchte Dich gerne von meiner Sicht der
Dinge _überzeugen_.
Das war mir klar! ;)
Grüße,
Mathias
np: the sunshine underground (chemical brothers)