r2757 - Refactored puff effect.

r2757 - Refactored puff effect.


Author: scott.gonzalez
Date: Sun Jun 14 19:21:44 2009
New Revision: 2757
Modified:
trunk/ui/effects.scale.js
Log:
Refactored puff effect.
Modified: trunk/ui/effects.scale.js
==============================================================================
--- trunk/ui/effects.scale.js    (original)
+++ trunk/ui/effects.scale.js    Sun Jun 14 19:21:44 2009
@@ -13,33 +13,28 @@
(function($) {
$.effects.puff = function(o) {
-
    return this.queue(function() {
+        var elem = $(this),
+            mode = $.effects.setMode(elem, o.options.mode || 'hide'),
+            percent = parseInt(o.options.percent, 10) || 150,
+            factor = percent / 100,
+            original = { height: elem.height(), width: elem.width() };
+
+        $.extend(o.options, {
+            fade: true,
+            mode: mode,
+            percent: mode == 'hide' ? percent : 100,
+            from: mode == 'hide'
+                ? original
+                : {
+                    height: original.height * factor,
+                    width: original.width * factor
+                }
+        });
-        // Create element
-        var el = $(this);
-
-        // Set options
-        var options = $.extend(true, {}, o.options);
-        var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
-        var percent = parseInt(o.options.percent,10) || 150; // Set default puff
percent
-        options.fade = true; // It's not a puff if it doesn't fade! :)
-        var original = {height: el.height(), width: el.width()}; // Save original
-
-        // Adjust
-        var factor = percent / 100;
-        el.from = (mode == 'hide') ? original : {height: original.height *
factor, width: original.width * factor};
-
-        // Animation
-        options.from = el.from;
-        options.percent = (mode == 'hide') ? percent : 100;
-        options.mode = mode;
-
-        // Animate
-        el.effect('scale', options, o.duration, o.callback);
-        el.dequeue();
+        elem.effect('scale', o.options, o.duration, o.callback);
+        elem.dequeue();
    });
-
};
$.effects.scale = function(o) {