Código fuente de WordPress - jquery-ui (1.8.20 - jquery.effects.bounce.js)

1	/*!
2	 * jQuery UI Effects Bounce @VERSION
3	 *
4	 * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
5	 * Dual licensed under the MIT or GPL Version 2 licenses.
6	 * http://jquery.org/license
7	 *
8	 * http://docs.jquery.com/UI/Effects/Bounce
9	 *
10	 * Depends:
11	 *      jquery.effects.core.js
12	 */
13	(function( $, undefined ) {
14	
15	$.effects.bounce = function(o) {
16	
17	        return this.queue(function() {
18	
19	                // Create element
20	                var el = $(this), props = ['position','top','bottom','left','right'];
21	
22	                // Set options
23	                var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode
24	                var direction = o.options.direction || 'up'; // Default direction
25	                var distance = o.options.distance || 20; // Default distance
26	                var times = o.options.times || 5; // Default # of times
27	                var speed = o.duration || 250; // Default speed per bounce
28	                if (/show|hide/.test(mode)) props.push('opacity'); // Avoid touching opacity to prevent clearType and PNG issues in IE
29	
30	                // Adjust
31	                $.effects.save(el, props); el.show(); // Save & Show
32	                $.effects.createWrapper(el); // Create Wrapper
33	                var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
34	                var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
35	                var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3);
36	                if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift
37	                if (mode == 'hide') distance = distance / (times * 2);
38	                if (mode != 'hide') times--;
39	
40	                // Animate
41	                if (mode == 'show') { // Show Bounce
42	                        var animation = {opacity: 1};
43	                        animation[ref] = (motion == 'pos' ? '+=' : '-=') + distance;
44	                        el.animate(animation, speed / 2, o.options.easing);
45	                        distance = distance / 2;
46	                        times--;
47	                };
48	                for (var i = 0; i < times; i++) { // Bounces
49	                        var animation1 = {}, animation2 = {};
50	                        animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance;
51	                        animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance;
52	                        el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing);
53	                        distance = (mode == 'hide') ? distance * 2 : distance / 2;
54	                };
55	                if (mode == 'hide') { // Last Bounce
56	                        var animation = {opacity: 0};
57	                        animation[ref] = (motion == 'pos' ? '-=' : '+=')  + distance;
58	                        el.animate(animation, speed / 2, o.options.easing, function(){
59	                                el.hide(); // Hide
60	                                $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
61	                                if(o.callback) o.callback.apply(this, arguments); // Callback
62	                        });
63	                } else {
64	                        var animation1 = {}, animation2 = {};
65	                        animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance;
66	                        animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance;
67	                        el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing, function(){
68	                                $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
69	                                if(o.callback) o.callback.apply(this, arguments); // Callback
70	                        });
71	                };
72	                el.queue('fx', function() { el.dequeue(); });
73	                el.dequeue();
74	        });
75	
76	};
77	
78	})(jQuery);

Contacte con nosotros
?No puede leer el tutorial? Póngase en contacto con nosotros para obtener una respuesta gratuita. Ayuda gratuita para sitios personales y de peque?as empresas
Servicio de atención al cliente WeChat
Servicio de atención al cliente WeChat
Tel: 020-2206-9892
QQ咨詢:1025174874
(iii) Correo electrónico: info@361sale.com
Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
? Declaración de reproducción
Este artículo fue escrito por Harry
EL FIN
Si le gusta, apóyela.
felicitaciones0 compartir (alegrías, beneficios, privilegios, etc.) con los demás
comentarios compra de sofás

Por favor, inicie sesión para enviar un comentario

    Sin comentarios