Mootools 1.2 – Was gibt’s Neues?
Wow. Ich konnte mir gar nicht ausmalen welcher Schaden eine neue Mootools Version ausrichten kann! Alle meine Skripte, die auf Mootools v1.11 basiert haben funktionieren nicht mehr
. Aber glücklicherweise bin ich ein ganz fleißiger Mensch und habe meine Skripte auf Mootools v1.2 umgestellt
. Schweißtreibende Arbeit. Glaubt mir! Ich musste stundenlang in der Dokumentation nachschlagen welche Funktion, jetzt wie heißt…
Damit euch so was nicht passiert, zeig ich euch, was in der Version 1.2 verändert wurde.
1. setProperty?
// Mootools 1.11
el.setProperty('property', 'value');
el.setHTML('<em>Blah!</em>');
setProperty wurde in der Version 1.2 von set ersetzt. Sogar setHTML kann man mit der set Funktion schreiben:
// Mootools 1.2
el.set('property', 'value');
el.set('html', '<em>Blah!</em>');
Das Gegenstück zu dieser Funktion lautet get.
2. Ajax?
// Mootools 1.11
var a = new Ajax('url.php', { method: 'post', update: $('update-div'), data: 'name=Ich&alter=18 ' });
a.request();
So war doch der Code bisher, wenn man eine AJAX Anfrage schreiben will… Jetzt aber nicht mehr.
// Mootools 1.2
var a = new Request({ url: 'url.php', method: 'post', data: 'name=Ich&alter=18' });
a.addEvent('success', function(response, xml) {
$('update-div').set('html', response);
});
a.send();
Ajax wurde in Request umbenannt und die Option update wurde ganz abgeschafft (Übrigens: Ich find das gut so
…), weil es Events gibt
.
3. Fx.Style?
// Mootools 1.11
el.effect('opacity').start(0).chain(function() {
el.effect('height', { duration: 3000 }).start(300, 500);
});
// Mootools 1.2
el.fade('out').get('tween').chain(function() {
el.set('tween', { duration: 3000 }).tween('height', 300, 500);
});
Achtung: chain() funktioniert nur auf ein Fx-Objekt! Deshalb der get('tween').
4. Fx.Morph
Ganz interessant ist die neue Fx.Morph-Klasse
$('el').set('morph', { duration: 3000 });
$('el').morph({ height: 300, width: 200 });
oder gleich in eine andere CSS-Klasse verwandeln:
$('el').morph('.css-klasse');
Spart enorm Arbeit!

Pepe (11. August 2008, 12:35)
Philly (14. September 2008, 03:10)
Oliver (4. Oktober 2008, 01:31)