/*! * jQuery UI Effects Bounce 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ //>>label: Bounce Effect //>>group: Effects //>>description: Bounces an element horizontally or vertically n times. //>>docs: https://api.jqueryui.com/bounce-effect/ //>>demos: https://jqueryui.com/effect/ ( function( factory ) { "use strict"; if ( typeof define === "function" && define.amd ) { // AMD. Register as an anonymous module. define( [ "jquery", "../version", "../effect" ], factory ); } else { // Browser globals factory( jQuery ); } } )( function( $ ) { "use strict"; return $.effects.define( "bounce", function( options, done ) { var upAnim, downAnim, refValue, element = $( this ), // Defaults: mode = options.mode, hide = mode === "hide", show = mode === "show", direction = options.direction || "up", distance = options.distance, times = options.times || 5, // Number of internal animations anims = times * 2 + ( show || hide ? 1 : 0 ), speed = options.duration / anims, easing = options.easing, // Utility: ref = ( direction === "up" || direction === "down" ) ? "top" : "left", motion = ( direction === "up" || direction === "left" ), i = 0, queuelen = element.queue().length; $.effects.createPlaceholder( element ); refValue = element.css( ref ); // Default distance for the BIGGEST bounce is the outer Distance / 3 if ( !distance ) { distance = element[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3; } if ( show ) { downAnim = { opacity: 1 }; downAnim[ ref ] = refValue; // If we are showing, force opacity 0 and set the initial position // then do the "first" animation element .css( "opacity", 0 ) .css( ref, motion ? -distance * 2 : distance * 2 ) .animate( downAnim, speed, easing ); } // Start at the smallest distance if we are hiding if ( hide ) { distance = distance / Math.pow( 2, times - 1 ); } downAnim = {}; downAnim[ ref ] = refValue; // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here for ( ; i < times; i++ ) { upAnim = {}; upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; element .animate( upAnim, speed, easing ) .animate( downAnim, speed, easing ); distance = hide ? distance * 2 : distance / 2; } // Last Bounce when Hiding if ( hide ) { upAnim = { opacity: 0 }; upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; element.animate( upAnim, speed, easing ); } element.queue( done ); $.effects.unshift( element, queuelen, anims + 1 ); } ); } );
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
accordion.js | File | 15.76 KB | 0644 |
|
accordion.min.js | File | 8.65 KB | 0644 |
|
autocomplete.js | File | 17.12 KB | 0644 |
|
autocomplete.min.js | File | 8.34 KB | 0644 |
|
button.js | File | 11.43 KB | 0644 |
|
button.min.js | File | 6.01 KB | 0644 |
|
checkboxradio.js | File | 7.41 KB | 0644 |
|
checkboxradio.min.js | File | 4.25 KB | 0644 |
|
controlgroup.js | File | 8.42 KB | 0644 |
|
controlgroup.min.js | File | 4.3 KB | 0644 |
|
core.js | File | 48.72 KB | 0644 |
|
core.min.js | File | 20.96 KB | 0644 |
|
datepicker.js | File | 80.59 KB | 0644 |
|
datepicker.min.js | File | 35.89 KB | 0644 |
|
dialog.js | File | 23.34 KB | 0644 |
|
dialog.min.js | File | 12.79 KB | 0644 |
|
draggable.js | File | 34.71 KB | 0644 |
|
draggable.min.js | File | 17.99 KB | 0644 |
|
droppable.js | File | 12.6 KB | 0644 |
|
droppable.min.js | File | 6.51 KB | 0644 |
|
effect-blind.js | File | 1.61 KB | 0644 |
|
effect-blind.min.js | File | 880 B | 0644 |
|
effect-bounce.js | File | 2.6 KB | 0644 |
|
effect-bounce.min.js | File | 991 B | 0644 |
|
effect-clip.js | File | 1.54 KB | 0644 |
|
effect-clip.min.js | File | 796 B | 0644 |
|
effect-drop.js | File | 1.56 KB | 0644 |
|
effect-drop.min.js | File | 753 B | 0644 |
|
effect-explode.js | File | 2.86 KB | 0644 |
|
effect-explode.min.js | File | 1.1 KB | 0644 |
|
effect-fade.js | File | 968 B | 0644 |
|
effect-fade.min.js | File | 525 B | 0644 |
|
effect-fold.js | File | 2.13 KB | 0644 |
|
effect-fold.min.js | File | 1020 B | 0644 |
|
effect-highlight.js | File | 1.21 KB | 0644 |
|
effect-highlight.min.js | File | 648 B | 0644 |
|
effect-puff.js | File | 995 B | 0644 |
|
effect-puff.min.js | File | 510 B | 0644 |
|
effect-pulsate.js | File | 1.53 KB | 0644 |
|
effect-pulsate.min.js | File | 688 B | 0644 |
|
effect-scale.js | File | 1.34 KB | 0644 |
|
effect-scale.min.js | File | 723 B | 0644 |
|
effect-shake.js | File | 1.84 KB | 0644 |
|
effect-shake.min.js | File | 846 B | 0644 |
|
effect-size.js | File | 5.29 KB | 0644 |
|
effect-size.min.js | File | 2.43 KB | 0644 |
|
effect-slide.js | File | 1.92 KB | 0644 |
|
effect-slide.min.js | File | 917 B | 0644 |
|
effect-transfer.js | File | 888 B | 0644 |
|
effect-transfer.min.js | File | 442 B | 0644 |
|
effect.js | File | 24.04 KB | 0644 |
|
effect.min.js | File | 10.09 KB | 0644 |
|
menu.js | File | 18.52 KB | 0644 |
|
menu.min.js | File | 9.96 KB | 0644 |
|
mouse.js | File | 6.08 KB | 0644 |
|
mouse.min.js | File | 3.35 KB | 0644 |
|
progressbar.js | File | 4.14 KB | 0644 |
|
progressbar.min.js | File | 2.5 KB | 0644 |
|
resizable.js | File | 29.78 KB | 0644 |
|
resizable.min.js | File | 18.38 KB | 0644 |
|
selectable.js | File | 7.94 KB | 0644 |
|
selectable.min.js | File | 4.4 KB | 0644 |
|
selectmenu.js | File | 15.96 KB | 0644 |
|
selectmenu.min.js | File | 9.28 KB | 0644 |
|
slider.js | File | 19.14 KB | 0644 |
|
slider.min.js | File | 10.51 KB | 0644 |
|
sortable.js | File | 46.52 KB | 0644 |
|
sortable.min.js | File | 24.91 KB | 0644 |
|
spinner.js | File | 14.1 KB | 0644 |
|
spinner.min.js | File | 7.5 KB | 0644 |
|
tabs.js | File | 23.11 KB | 0644 |
|
tabs.min.js | File | 11.73 KB | 0644 |
|
tooltip.js | File | 14.14 KB | 0644 |
|
tooltip.min.js | File | 6.1 KB | 0644 |
|