]> source.dussan.org Git - jquery-ui.git/commitdiff
effects.drop: Style Guidance
authorgnarf <gnarf@gnarf.net>
Sun, 6 Mar 2011 11:36:06 +0000 (05:36 -0600)
committergnarf <gnarf@gnarf.net>
Sun, 6 Mar 2011 11:41:27 +0000 (05:41 -0600)
ui/jquery.effects.drop.js

index 152da6b54ef04b810c9ee7d9c5a87a9c2d07a6a5..e13690746e6d69c641eac445706d2bdbb080fcce 100644 (file)
  */
 (function( $, undefined ) {
 
-$.effects.drop = function(o) {
+$.effects.drop = function( o ) {
 
-       return this.queue(function() {
+       return this.queue( function() {
 
-               // Create element
                var el = $( this ), 
-                       props = ['position','top','bottom','left','right','opacity'],
-                       mode = $.effects.setMode(el, o.mode || 'hide'),
-                       direction = o.direction || 'left'; // Default Direction
-
+                       props = [ 'position', 'top', 'bottom', 'left', 'right', 'opacity' ],
+                       mode = $.effects.setMode( el, o.mode || 'hide' ),
+                       direction = o.direction || 'left',
+                       ref = (direction == 'up' || direction == 'down') ? 'top' : 'left',
+                       motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg',
+                       animation = {
+                               opacity: mode == 'show' ? 1 : 0
+                       },
+                       distance;
+                       
                // Adjust
-               $.effects.save(el, props); el.show(); // Save & Show
-               $.effects.createWrapper(el); // Create Wrapper
-               var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
-               var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
-               var distance = o.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2);
-               if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift
+               $.effects.save(el, props); el.show(); 
+               $.effects.createWrapper(el); 
+               
+               distance = o.distance || el[ ref == 'top' ? 'outerHeight': 'outerWidth' ]({ margin: true }) / 2;
+
+               if ( mode == 'show' ) {
+                       el
+                               .css( 'opacity', 0 )
+                               .css( ref, motion == 'pos' ? -distance : distance );
+               }
 
                // Animation
-               var animation = {opacity: mode == 'show' ? 1 : 0};
-               animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
+               animation[ ref ] = ((mode == 'show') ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
 
                // Animate
-               el.animate(animation, { queue: false, duration: o.duration, easing: o.easing, complete: function() {
-                       if(mode == 'hide') el.hide(); // Hide
-                       $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
-                       if(o.complete) o.complete.apply(this, arguments); // Callback
-                       el.dequeue();
-               }});
+               el.animate( animation, { 
+                       queue: false, 
+                       duration: o.duration, 
+                       easing: o.easing, 
+                       complete: function() {
+                               mode == 'hide' && el.hide();
+                               $.effects.restore(el, props); 
+                               $.effects.removeWrapper(el); 
+                               $.isFunction( o.complete ) && o.complete.apply(this, arguments);
+                               el.dequeue();
+                       }
+               });
 
        });