jQuery
Mittwoch23. Juli 2008

Mit dem Relaunch hat sich nicht nur die Optik des Weblogs verändert, auch einige neue Funktionen haben Einzug gehalten. Eine davon – die dynamische Ansicht der Kommentare – werde ich in diesem Beitrag ausführlich vorstellen. Dieser Beitrag ist der erste einer kleinen 3er Reihe, in denen ich ein paar Einblicke in das Gestaltungskonzept und die technische Umsetzung der neuen Highresolution Seite geben werde.

The long tail

Weblogs werden üblicherweise als 2- oder 3-Spalten-Layouts angelegt. Neben dem Hauptinhalt hat in den Randspalten der Sekundär-Content (Sidebar, Werbung, ect.) seinen Platz. Bei längeren Artikeln ist es mit den “Randinformationen” schnell vorbei und so macht sich der Artikel in seiner schmalen Spalte allein auf in Richtung Fußzeile. Besonders bei schmalen Bloglayouts verbleibt so auf größeren Bildschirmen ein schmales Inhaltsband neben endlosen ungenutzten Flächen. Ein Beispiel dafür ist dieser aktuelle Beitag bei den Webkrauts, der sich selbst auf meinem großen Bildschirm über 22! Bildschirmseiten zieht.

Ist man endlich bei den Kommentaren angelangt, schlägt der Standardhammer zu. Während Weblogbeiträge umgekehrt chronologisch ausgegeben werden (der neueste Beitrag zuerst), werden Kommentare üblicherweise in der Reihenfolge ihres Eintreffens (also chronologisch, mit dem ältesten beginnend) aufgelistet. Will man Beitrag und Kommentare vollständig lesen, ist diese Anordnung ideal, denn man fängt oben mit Lesen an und wenn man unten ankommt, hat man Beiträge und Kommentare vollständig überblickt. Leider liest man in dieser Form einen Beitrag nur ein einziges Mal.

Viel öfter hingegen verfolge ich Diskussionen in anderen Blogs, indem ich einen interessanten Beitrag immer wieder im Browser aufrufe, um die neuesten Kommentare zu lesen. Dabei ist es die Ironie des Schicksals, dass ich jetzt erst ganz ans Ende der Seite reisen muss, um die neuesten Kommentare zu lesen. Besonders bei interessanten und vielkommentierten Beiträgen empfinde ich das als lästig (siehe oben genannter Webkrauts-Artikel). Ebenso lästig empfinde ich Infomails für neue Kommentare oder Kommentar-Feeds. Weder möchte ich per Mail zugespammt werden, nur weil ich gerade 2..3 Diskussionen im Netz verfolge, noch will ich ständig meine Feedliste anpassen müssen. Es hat halt jeder seine Vorlieben, weswegen dieses Weblog selbstverständlich Kommentarfeeds und Emailbenachrichtigungen anbietet. Ich selbst verfolge die Diskussionen lieber direkt auf der Webseite mit und schaue dann gern auch ein/zwei Mal pro Tag vorbei.

 

Den gesamten Beitrag lesen


Dienstag03. Juni 2008

Seit gestern ist nun endlich der lang ersehnte erste Release-Candidate von jQuery UI 1.5 verfügbar. Alle kritischen Bugs wurden laut den Entwicklern gefixt. Was nach wie vor fehlt auf der neuen UI-Webseite ist die Dokumentation im neuen Layout, die derzeit noch auf den jQuery-Seiten liegt, aber bereits weitgehend auf die Version 1.5 angepasst wurde. Und auch bei jQuery selbst kann man nun endlich - über eine Woche nach dem Release von Version 1.2.6 - die Änderungen im Detail nachlesen und erhält auch eine kurze Erklärung, was mit 1.2.4 und 1.2.5 los war.

Damit kommt hoffentlich wieder etwas Ruhe in die ganze Sache und wir können uns auf die Implementation stürzen.


Sonntag25. Mai 2008

David kann es halt doch nicht lassen - zum Glück - und hat Jens Grochtdreis und mich zum Sonntag Mittag zu einer gemütlichen Plauderstunde für eine neue Technikwürze-Sendung eingeladen. Thematisch drehte sich die Sendung größtenteils jQuery, ich habe dazu ja schon etwas gebloggt. Ich habe zwei Buchempfehlungen beigesteuert und durfte in der neuen Schimpf-Ecke von Technikwürze meinen andauernden “Wir können Ihnen DSL an dieser Adresse leider nicht bereitstellen” Frust etwas abbauen.

Jens brachte im Anschluss der wiedermal 51 Minuten das Thema auf die aktuell wie Pilze aus dem Boden sprießenden Blueprint-Clones und hat mir damit aus der Seele geredet. Allein im Mai habe ich bisher 3 gezählt:

Alles in allem reduzieren sich die Modifikationen auf geringfügige Anpassungen im Rahmen des persönlichen Geschmacks (Grid-Geometrie), dem Weglassen einiger Dinge oder der Kombination mit anderen Reset-Stylesheets (z.B. Tripoli). Ein alternativer logischer Ansatz für die Erstellung der Grids steht in keinem Fall dahinter. Und warum gerade wegen anderer Grid-Abstände jedesmal ein neues Framework veröffentlicht werden muss, erschließt sich mir nicht, für Blueprint gibt es einen Grid-CSS-Generator sowie vieles andere mehr. Warum das Rad zweimal erfinden?


Donnerstag22. Mai 2008

Gestern ist also wiedermal eine neue jQuery-Version 1.2.5 online gegangen, die das bisherige Dimensions-Plugin obsolete machen soll. Ich verwende das Plugin schon eine Weile, daher an dieser Stelle ein paar Hinweise für andere Entwickler.

Bereits in der Version 1.2 des Dimensions-Plugins und jQuery 1.2.0 wurden die Methoden height, width, offset and offsetLite aus dem Plugin entfernt und in den jQuery Core übernommen. Allerdings nicht in vollem Umfang, denn die Konfiguationsmöglichkeiten (optionale Einrechung von Margins, Paddings, Border) vor allem für width, heightund offset sind eben nicht in dieser Form im Core zu finden. Leider wird auf diesen Umstand in den Release-Notes nicht ausreichend hingewiesen, so dass es hier zu Verwirrungen kommen kann. Die Core-Funktionen entsprechen nach meinem Kenntnisstand aktuell den Außenkanten der Box (also einschließlich Padding und Border), davon abweichende Werte muss man sich selbst ermitteln.

Wer einen differenzierten Zugriff auf Elementdimensionen (mit/ohne Margins/Border/Padding) benötigt, dem kann ich derzeit noch die Version 1.1.2 des Dimensions-Plugins empfehlen. Diese stellt ein deutlich umfangreicheres Arsenal an Funktionen zur Geometrieabfrage zur Verfügung. Aufpassen muss man hier dennoch, denn die Offset-Berechung einschließlich Margins funktioniert in dieser Version nach meiner Erfahrung aus der Anwendung im YAML-Builder nicht zuverlässig.

So richtig freuen kann ich mich über diese Enwicklung nicht, denn wenn ein so nützliches Plugin in den Core übergeht dann sollte nicht gleichzeitig der Funktionsumfang eingedampft werden. Aber es ist zum Glück auch kein unlösbares Problem. Wer sich die aktuelle Beta4 von jQuery UI herunterläd, findet im Verzeichnis /tests/ die Datei dimensions.html und damit einen Testcase, den Paul Bakaus auf meine Bitte hin schon vor einiger Zeit erstellt hat. Darin wird eine kleine Funktion definiert, die alle Geometriedaten in beliebiger Konfiguration fehlerfrei liefert und auf jQuery 1.2.4+ aufsetzt. Leider ist diese Datei - wie ich gerade gesehen habe - aus dem SVN Trunk schon wieder verschwunden und daher im Moment nur über das Download-Paket erhältlich. Ich hoffe, dass die jQuery-Doku in dieser Hinsicht möglichst bald auf den aktuellen Stand gebracht wird und dann vielleicht auch eine offizielle Dimensions-Demo bereitgestellt wird.

Im Rahmen der Abeit am YAML-Builder werde ich diesen Workaround mit Sicherheit übernehmen und ggf. auch ein allgemein gebräuchliches Plugin daraus bauen. Für den Moment sollten diese Infos aber erstmal allen Interessierten weiterhelfen.


Freitag16. Mai 2008

Manchmal scheint selbst jQuery zu einfach gestrickt zu sein, um die Lösung für naheliegende Aufgaben mitzubringen. jQuery erlaubt die Manipulation von Elementen auf Basis von Events. Ein Klick -> tu was, Hover in/out -> tu was anderes. Will man aber ein Element nur aufgrund seiner Anwesenheit im Layout modifizieren, fällt die Lösung nicht so leicht ins Auge.

Helfen kann man sich in diesem Fall mit $(selector).each(function(){ ... }); oder indem man per if ... then auf das gewünschte Element prüft. Gerade habe ich darüber mit David Maciejewski (Mr. Technikwürze) im Chat gequatscht und wenige Minuten später war seine knuffige Lösung fertig und gebloggt.

Die Anwendung ist dann ganz einfach ...

$('#meinDIv').found(function(){
    alert('Ja, mich gibt es, stell was mit mir an.');
});

... schaut’s Euch mal an.

 


Seite 2 von 3 Seiten

 <  1 2 3 >