Tag Archiv: Plugin

jQueryList – Plugin und Beispielsammlung

jquerylist

Wer kennt das nicht. Im laufe der Zeit hat man sich eine Vielzahl an Bookmarks angelegt, wenn man Glück hat sogar in Ordner und nach Thema sortiert. Wenn man jetzt jedoch nach einem gewissen Plugin oder Beispiel sucht gehts los. Wo war das? Wie hieß das?

Das ganze kann man jetzt auch erstmal bequemer angehn.
Gestern bin ich dank einem Tweet auf jQuery List gestoßen.
Bei jQuery List handelt es sich um EINE Seite mit Beispielen und Plugins rund um jQuery.
Die einzelnen Einträge sind in 32 Kategorien aufgeteilt, wie z.B. Grids, Drag and Drop, Form Validation usw.

Alle Inhalte befinden sich zusammengefasst auf einer einzigen Seite. Zu jedem Eintrag gibt es einen kleinen aktuellen Screenshot der dazugehörigen Seite zu sehen.
Mit 255 Einträgen ist schon so einiges dabei. Für mich persönlich wird die Seite meine Bookmarks sicher nicht ersetzen, aber wenn man mal auf die schnelle etwas braucht oder in den Bookmarks nicht das richtige dabei ist, werde ich hier sicher vorbei schauen.

ifixpng2 & pngFix – Transparenz für den IE6

Immer wieder stößt man bei der Entwicklung von Webseiten auf das Problem transparenter Hintergründe von png’s im IE6. Es gibt diverse Hacks und Workarounds dafür. Ein paar besondere sollen hier nun kurz vorgestellt werden.

- ifixpng2
Das alte ifixpng plugin hat ein update verpasst bekommen. Einige Fehler oder Probleme wurden behoben, vor allem erwähnenswert dabei, das Elemente mit Background-Image nicht mehr visible bzw. sichtbar sein müssen um den gewünschen Effekt zu erhalten. Den Download zum ifixpng2 findet ihr hier.

?View Code JAVASCRIPT
1
2
3
4
5
//DOM-Ready Event
 $(document).ready(function(){
//Der Fix wird auf alle Class-Attribute mit "legende" angewendet
     $('.transparent').ifixpng();
  });

- pngfix
Ein anderes nettes Plugin um das Transparenzproblem zu lösen findet ihr auf der Seite von Andreas Eberhard. Das schöne bei diesem Plugin ist, dass nicht nur pngs gefixt werden, die im CSS als background angegeben sind, sondern auch direkt img-Tags angesprochen werden können.
Der Aufruf dazu ist derselbe wie beim ifixpng2:

?View Code JAVASCRIPT
1
2
3
4
//plugin wird auf alle Bilder angewendet
 $(document).ready(function(){
        $(document).pngFix();
    });

Dieser einfache Aufruf geht allerdings bei vielen Bildern auf der Seite zu Lasten der Performance. Ich empfehle eine präziseren Aufruf für genau diejenigen Bilder, die den
pngfix erhalten sollen.

?View Code JAVASCRIPT
1
2
//Fix bezieht sich auf jedes Div mit der Class "Legende"
jQuery('div.legende').pngFix();

Bessere Textfelder – prettyComments jQuery Plugin

Ein nettes kleines Tool für eine bessere Usability bei Textfeldern bietet das prettyComments Plugin. Es lässt bei Eingabe über die Tastatur einfach des Textfeld mitwachsen und funktioniert in allen gängigen Browsern.

Das Einbinden ist denkbar einfach:

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
//einbinden der Bibliotheken
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/prettyComments.js" type="text/javascript"></script>
 
//Initialisiere Plugin nach dem der DOM-Baum vollständig geladen ist
<script type="text/javascript" charset="utf-8">
	$(document).ready(function(){
		$('#textarea').prettyComments();
	});
</script>

Das Plugin hat folgende Attribute:

  • animate: true/false
  • animationSpeed: ‘slow’/'normal’/'fast’
  • maxHeight: 500 (ab dieser Höhe erscheint Scrollbalken)

Ein Beispiel dazu:

?View Code JAVASCRIPT
1
2
3
4
5
<script type="text/javascript">
	$(document).ready(function(){
		$('#textarea1').prettyComments({animate: true, maxHeight:100});
	});
</script>

Tools für jQuery – Ein Plugin UI Elemente

Von jQuery gibt es eine eigene Bibliothek für UI- bzw. Oberflächenelemente. Diese bezieht sich allerdings eher auf Animationen und andere Effekte. Selbstverständlich stehen auch fertige Komponenten wie Kalender, Accordion und Drag ‘n Drop zu Verfügung.

jQuery Tools setzt dagegen direkt auf fertige Komponenten. Ähnlich wie auf der jQuery UI Seite lassen sich einzelne Teile direkt herunterladen oder alle Funktionen in einem Skript. Die Funktionspallette erstreckt sich über Tooltips, Tabs, Scrolling, Highlighting und Overlays.

jQuery Tools

jQuery Tools lassen sich einfach einbinden, hier ein Tab Beispiel:
Der HTML Code

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- the tabs -->
<ul class="tabs">
    <li><a href="#">Tab 1</a></li>
    <li><a href="#">Tab 2</a></li>
    <li><a href="#">Tab 3</a></li>
</ul>
 
<!-- tab "content" -->
<div class="content">
    <div>First tab content. Tab contents are called "content"</div>
    <div>Second tab content</div>
    <div>Third tab content</div>
</div>

Der Javascript Code

?View Code JAVASCRIPT
1
2
3
4
5
// Aufruf nach dem dom-Ready Event
$(function() {
    // Zuordnung von den ul-Tags zum Inhalt
    $("ul.tabs").tabs("div.content> div");
});

Dieses Plugin besticht durch seine saubere Trennung zwischen CSS und Javascript Code sowie durch seine kleine Größe und einfache Handhabung.

Einfach mal anschauen und testen..

jqPlot – jQuery Plotting Plugin

jqplot1

Wer sich schon mal mit damit beschäftigt hat Daten in Form von Charts zu visualisieren, wird festegestellt haben das es eine Menge Möglichkeiten gibt.
MooTools, jQuery, PHP usw. Jetzt kommt mit jqPlot ein weiteres jQuery-Plugin daher welches was die Einfachheit der Implementierung und die Vielzahl der Einstellmöglichkeiten angeht ganz vorn dabei sein dürfte.

Die Kernfeatures im Überblick:

  • Zahlreiche Linienstile
  • Horizonalte und Vertikale Balkendiagramme
  • Schatten für Linien, Markierungspunkte, das Gitter usw.
  • Drag & Drop von Punkten mit auto update der Werte
  • Trend lines
  • uvm

Das ganze läuft in allen gängigen Browsern und mit der aktuellen jQuery-Version.

Demo´s, die Dateien zum Download sowie eine sehr sehr ausführliche Doku findet Ihr auf den offiziellen Seiten.

jYouTube – jQuery YouTube thumbnail plugin

Videos in Webseiten werden immer beliebter. Und gerade das einbetten von YouTube-Videos nimmt stetig zu.

Wer jedoch nicht direkt ein Video einbinden will, sondern z.B. nur ein YouTube-Video über ein Bild verlinken will, oder z.B. bei klick auf ein Thumbnail ein Video in einer Lightbox öffnen will, der musste bisher das Video aufrufen, einen Screenshot machen, diesen anpassen und einbinden.
Ziemlich aufwendig. Nicht wahr?

Genau hier setzt das jQuery-Plugin jYouTube an. Mit diesem Plugin habt ihr die Möglichkeit mit nur einem Aufruf autoamtisch einen Screenshot/Thumbnail des Videos zu erstellen.
Das ganze geht in verschiedenen Größen und über die ID oder die URL des Videos.

?View Code JAVASCRIPT
1
2
3
4
5
// Returns big screenshot by video id
$.jYoutube('rSUfWXcNAOw');
 
// Returns small thumbnail by YouTube video URL
$.jYoutube('http://www.youtube.com/watch?v=rSUfWXcNAOw', 'small');

Alle Infos rund um das Plugin findet Ihr auf der offiziellen jQuery-Seite dazu.

epiclock – jQuery Plugin zum erstellen und verwalten einer Uhr

epiclock

Gerade wenn man eine größere Applikation schreibt hat man doch öfter einmal Bedarf an einer Uhr. Bisher ging das ganze über reines Javascript, aber war auch mit der ein oder anderen Minute Aufwand verbunden.
Die kann man sich in Zukunft sparen. Mit epiclock, einem jQuery Plugin mit welchem sich ohne Probleme eine Uhr erstellen und einbetten lässt.

Mit epiclock hat man eine Vielzahl von Möglichkeiten. Von einer einfachen Uhr, über eine Klappuhr im Retrostyle, Timer bis hin zum Countdown.

Ein einfaches Beispiel:

?View Code JAVASCRIPT
1
2
3
4
5
//einfache Uhr
jQuery('#text').epiclock();
 
//Uhr im Retro-Style
 jQuery('#text').epiclock({gmt: true, offset: {hours: -8}}, 'retro');

Eine Demo, die Dokumentation sowie alle Dateien zum Download findet ihr auf der offiziellen Website.

Flip! – jQuery Plugin

flipbox

Ich möchte euch heute über den Tag verteilt kurz ein paar nette neue Plugins vorstellen.
Los geht´s mit Flip! einem jQuery Plugin welches euer Element in alle Richtungen drehen kann.

Das Plugin beitet verschiedene Optionen wie z.B. einstellen der Richtung, definieren der Start- und Endhintergrundfarbe bei der Animation, die Geschwindigkeit, aufruf von Funktionen am Start oder nach Abschluss der Animation usw.
Das Ganze läuft mit jQuery 1.3.1.

Eingebunden wird das ganze einfach so:

?View Code JAVASCRIPT
1
$("#flipBox").flip({ direction: 'tb', color: '#B34212', content:$("#myId") });

Eine Demo sowie alle Dateien zum Download findet ihr auf der offiziellen Website des Plugins.

Ajax Datei-Upload mit jQuery

Eine geschickte und schnelle Methode um den Upload von Dateien in Formularen zu erledigen ist wie so oft Ajax. Ein nettes Plugin dafür gibt es auf http://valums.com/ajax-upload/, welches zudem auch Multiple Uploads unterstützt.
Das Plugin glänzt nicht nur durch seine einfache Handhabung, auch lässt sich damit das lästige Problem der Gestaltung von Uploadformularfeldern, also “input type=”file”..” in den Griff bekommen. Auf diese Felder greift das CSS oft nicht wie es sollte usw.

Auf was ihr allerdings achten solltet ist, dass die Dateien, die mit dem Plugin schon hochgeladen wurden, bevor der Submit abgesetzt, bzw. vor dem Abschicken des Formulars auf dem Server liegen, während die restlichen POST Daten eben erst auf Click eines Absenden Buttons an ein Skript weitergereicht werden. Kurz gesagt, wenn Upload mit Ajax und das Formular als Method Attribut GET/POST hat, muss man aufpassen. Das heißt es sollte überprüft werden ob die hochgeladenen Bilder auch tatsächlich genutzt werden und der User nicht nur einfach wild Dateien hochgeladen hat ohne Das Formular auszufüllen.

Screeshot der Demo:
ajax_upload

Kurz zu den Bestandteilen des Codes:

- Der HTML Teil

1
2
3
 
<!-- Anlegen eines einfachen Divs auf das später die Upload Funktion gelegt wird -->
<div id="upload_button">Upload</div>

- Der Javascript Teil (weitere js-Dateien werden nicht benötigt)

?View Code JAVASCRIPT
1
2
3
4
5
6
7
 
<script src="ajaxupload.3.1.js" type="text/javascript">
<script type="text/javascript">
    $(document).ready( function() {
         new AjaxUpload('upload_button', {action: 'upload.php'});
    });
</script>

Der Ajaxupload kann auch durch Callback-Funktionen und andere Parameter eingestellt werden. Der Code auf der englischen Website ist selbsterklärend. Fragen könnt ihr auch hier stellen.

- Nach abesenden der Daten an “upload.php” geht es an die serverseite Verarbeitung

1
2
3
4
5
6
7
8
9
10
11
 
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
 
//move_uploaded_file ist die Standard PHP-Funktion um Dateien auf dem Server zu verarbeiten
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  echo "success";
} else {
  // Als echo keinesfalls false benutzen. Führt zu Konflikten mit dem Ajax-Request
  echo "error";
}

Auf der Valums Website gibt es ebenfalls Beispiele für Ruby sowie Coldfusion.

Die Demo findet ihr hier

Filemanager basierend auf MooTools

Unter der Website von Christoph Pojer findet ihr einen beeindruckenden Filemanager. Er ist noch in der Erprobungsphase, aber bietet schon eine angenehme Oberfläche und eine gute Usability und natürlich volle Funktionalität.

Der Filemanager zum Verwalten von Bildern bzw. Dateien auf einem PHP-Webserver basiert auf MooTools. Eine kleine Liste der Features:

  • Betrachten der Ordner und Dateien auf einem Server
  • Umbenennen, Löschen, Kopieren und Verschieben von Dateien
  • Detailansicht von Bildern
  • Fileupload mit dem bekannten Fancyupload in der neuen Version
  • Automatisches verkleinern von großen Bildern

Eine Demo findet ihr unter: Filemanager

Der Aufruf ist denkbar einfach:

?View Code JAVASCRIPT
1
2
3
4
5
6
7
 var manager = new FileManager({
    url: 'manager.php',
    assetBasePath: '../Assets',
    language: 'en',
    uploadAuthData: {session: 'MySessionId'}
  });
   $('beispiel').addEvent('click', manager.show.bind(manager));

Weiter gibt es auch die Möglichkeit den Filemanager in den WYSIWYG-Editor TinyMCE einzubauen. Dieser besitzt von Haus aus keine Möglichkeit eines gezielten Upload. Eine Demo dazu findet ihr ebenfalls auf Christopher’s Seite..