script.aculo.us
script.aculo.us
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Thomas Fuchs |
Erscheinungsjahr | Juni 2005 |
Aktuelle Version | 1.9.0 (23. Dezember 2010) |
Betriebssystem | plattformunabhängig |
Programmiersprache | JavaScript |
Lizenz | MIT-Lizenz |
script.aculo.us |
script.aculo.us ist eine JavaScript-Bibliothek, die auf dem JavaScript-Framework Prototype aufbaut. Sie bietet dynamische visuelle Effekte und GUI-Elemente über das Document Object Model (DOM).
Ganz besonders ist es in Ruby on Rails integriert, wird allerdings auch separat angeboten, damit es mit anderen Web Application Frameworks und Scriptsprachen zusammenarbeitet.
script.aculo.us wurde von Thomas Fuchs aus dem Tool fluxiom entnommen, einem webbasierten Digital-Asset-Management-Tool der Designerfirma wollzelle.[1] Der Öffentlichkeit wurde es erstmals im Juni 2005 vorgestellt.
Merkmale
script.aculo.us erweitert das Prototype JavaScript Framework durch visuelle Effekte, GUI-Elemente und andere Funktionen.
Visuelle Effekte
Es gibt fünf Kerneffekte, script.aculo.us bietet: Opacity, Scale, MoveBy, Highlight, und Parallel. Durch diese Effekte ergeben sich über 16 zusätzliche Effekte, die Kombinationen der Kerneffekte nutzen. Programmierer können diese Effektpalette auch noch erweitern und neue Effekte hinzufügen.
Um einen Effekt zu aktivieren, muss man dem jeweiligen Element eine ID-Bezeichnung zuordnen und eine Zeile Code für den Effekt hinzufügen. Nachfolgend ist ein Beispiel des Effekts Effect.Fade, der auf ein DOM-Element mit der ID 'id_of_element' angewandt wird:
new Effect.Fade('id_of_element');
Dadurch wird das Element mit der Ziel-ID ausgeblendet und am Ende die CSS-Eigenschaft display-Eigenschaft auf none gesetzt.
Es können einige Einstellungen, wie z.B. die Dauer und Reichweite des Effekts eingestellt werden:
new Effect.Fade('id_of_element',
{ duration:2.0, from:0.0, to:0.8 });
Dadurch wird das Element eingeblendet, der Effekt stoppt allerdings, wenn er 80% fertig ist (bei einer Deckkraft von 20%).
Controls
Controls bieten GUI-Elemente, darunter:
- Drag And Drop
- Draggables
- Droppables
- Sortables
- Slider
- Autocompletion
- In Place Editing
Builder
Durch den Builder können DOM-Elemente dynamisch erzeugt werden. Durch Benutzung des unteren Beispielcodes...
element = Builder.node('div',{id:'ghosttrain'},[
Builder.node('div',{className:'controls',style:'font-size:11px'},[
Builder.node('h1','Ghost Train'),
"testtext", 2, 3, 4,
Builder.node('ul',[
Builder.node('li',{className:'active', onclick:'test()'},'Record')
])
])
]);
...wird folgender HTML-Code erzeugt (ohne neue Zeilen):
<div id="ghosttrain">
<div class="controls" style="font-size:11px">
<h1>Ghost Train</h1>
testtext234
<ul>
<li class="active" onclick="test()">Record</li>
</ul>
</div>
</div>
Nutzung
Lokal gespeichert
Um das Famework benutzen zu können muss mn alle script.acoulo.us Dateien speichern.Außerde muss man Prototype speichern. Z.b kann man Prototype im Ordner "basisframework".Hinweis: Prototype muss zuerst geladen werden <script src="basisframework/prototype.js" type="text/javascript"></script> <script src="javascripts/scriptaculous.js" type="text/javascript"></script> Diese Zeilen müssen zuerst geladen werden, vor jeglichem anderen JavaScript-Code, der auf Prototype oder script.aculo.us-Funktionen zugreift. Einmal geladen können diese Funktionen von jedem Ort ausgeführt werden, darunter Skript-Tags und Eventhandler.Da Massenhoster die Dateien oft langsam ausliefern kann man sie auch von Google Code laden (siehe Abschnitt Google Code). )
Google Code
Man kann die dateien auch analog zu Lokal Gespeichert auch von Google Code laden :
< script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js" type="text/javascript"> </script>
< script src="https://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.3/scriptaculous.js" type="text/javascript"> </script>
Weblinks
- Javascript Bibliotheken bei Google Code (englisch)
- offizielle Webpräsenz
- Dokumentation (Wiki)
- Cheat Sheet
- Deutschsprachige Effekte-Einführung
Quellen
- ↑ Ajaxian » Audible Ajax Episode 12: Thomas Fuchs of Script.aculo.us
- ↑ Google Code http://code.google.com/intl/de-DE/apis/libraries/devguide.html
- ↑ c't 8/2010 S.154 "javascript Bibliotheken"