diff options
author | Richard Worth <rdworth@gmail.com> | 2009-09-17 10:39:12 +0000 |
---|---|---|
committer | Richard Worth <rdworth@gmail.com> | 2009-09-17 10:39:12 +0000 |
commit | e2d873e6f06c6d4539302653d63540ba0b6f5e48 (patch) | |
tree | cca59581cddd66b4fedcac6d09ae15e9fabf7837 /ui/jquery.effects.slide.js | |
parent | 79c433fcab0fa80347de326577a52f1ca22d1ae7 (diff) | |
download | jquery-ui-e2d873e6f06c6d4539302653d63540ba0b6f5e48.tar.gz jquery-ui-e2d873e6f06c6d4539302653d63540ba0b6f5e48.zip |
renamed all ui.*.js files to jquery.ui.*.js, all effects.*.js files to jquery.effects.*.js per announcement and discussion here http://groups.google.com/group/jquery-ui-dev/msg/d565a0c56e0cb935
Diffstat (limited to 'ui/jquery.effects.slide.js')
-rw-r--r-- | ui/jquery.effects.slide.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ui/jquery.effects.slide.js b/ui/jquery.effects.slide.js new file mode 100644 index 000000000..9c2bc4c78 --- /dev/null +++ b/ui/jquery.effects.slide.js @@ -0,0 +1,50 @@ +/* + * jQuery UI Effects Slide @VERSION + * + * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Slide + * + * Depends: + * jquery.effects.core.js + */ +(function($) { + +$.effects.slide = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var direction = o.options.direction || 'left'; // Default Direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true})); + if (mode == 'show') el.css(ref, motion == 'pos' ? -distance : distance); // Shift + + // Animation + var animation = {}; + animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); |