X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Feffects.js;h=d3ac99a456f25ae3a7171536a0070f067fa0cc24;hb=ae9df1412c41b1ae676d3808c323b0f01e0b0600;hp=7fa7342088e137abf1da1ac7531fb677f7ad2edc;hpb=21441b1cbc7a205e621b8c94a21eff102380ca03;p=jquery.git diff --git a/src/effects.js b/src/effects.js index 7fa7342..d3ac99a 100644 --- a/src/effects.js +++ b/src/effects.js @@ -1,6 +1,8 @@ +(function( jQuery ) { + var elemdisplay = {}, rfxtypes = /toggle|show|hide/, - rfxnum = /^([+-]=)?([\d+-.]+)(.*)$/, + rfxnum = /^([+\-]=)?([\d+.\-]+)(.*)$/, timerId, fxAttrs = [ // height animations @@ -22,7 +24,7 @@ jQuery.fn.extend({ this[i].style.display = old || ""; - if ( jQuery.css(this[i], "display") === "none" ) { + if ( jQuery.css( this[i], "display" ) === "none" ) { var nodeName = this[i].nodeName, display; if ( elemdisplay[ nodeName ] ) { @@ -64,7 +66,7 @@ jQuery.fn.extend({ for ( var i = 0, l = this.length; i < l; i++ ) { var old = jQuery.data(this[i], "olddisplay"); if ( !old && old !== "none" ) { - jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display")); + jQuery.data( this[i], "olddisplay", jQuery.css( this[i], "display" ) ); } } @@ -118,7 +120,7 @@ jQuery.fn.extend({ self = this; for ( p in prop ) { - var name = p.replace(rdashAlpha, fcamelCase); + var name = jQuery.camelCase( p ); if ( p !== name ) { prop[ name ] = prop[ p ]; @@ -132,7 +134,7 @@ jQuery.fn.extend({ if ( ( p === "height" || p === "width" ) && this.style ) { // Store display property - opt.display = jQuery.css(this, "display"); + opt.display = this.style.display; // Make sure that nothing sneaks out opt.overflow = this.style.overflow; @@ -221,6 +223,16 @@ jQuery.fn.extend({ }); +function genFx( type, num ) { + var obj = {}; + + jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() { + obj[ this ] = type; + }); + + return obj; +} + // Generate shortcuts for custom animations jQuery.each({ slideDown: genFx("show", 1), @@ -299,18 +311,18 @@ jQuery.fx.prototype = { }, // Get the current size - cur: function( force ) { + cur: function() { if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) { return this.elem[ this.prop ]; } - var r = parseFloat(jQuery.css(this.elem, this.prop, force)); - return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0; + var r = parseFloat( jQuery.css( this.elem, this.prop ) ); + return r && r > -10000 ? r : 0; }, // Start an animation from one number to another custom: function( from, to, unit ) { - this.startTime = now(); + this.startTime = jQuery.now(); this.start = from; this.end = to; this.unit = unit || this.unit || "px"; @@ -356,7 +368,7 @@ jQuery.fx.prototype = { // Each step of an animation step: function( gotoEnd ) { - var t = now(), done = true; + var t = jQuery.now(), done = true; if ( gotoEnd || t >= this.options.duration + this.startTime ) { this.now = this.end; @@ -380,7 +392,7 @@ jQuery.fx.prototype = { var old = jQuery.data(this.elem, "olddisplay"); this.elem.style.display = old ? old : this.options.display; - if ( jQuery.css(this.elem, "display") === "none" ) { + if ( jQuery.css( this.elem, "display" ) === "none" ) { this.elem.style.display = "block"; } } @@ -393,7 +405,7 @@ jQuery.fx.prototype = { // Reset the properties, if the item has been hidden or shown if ( this.options.hide || this.options.show ) { for ( var p in this.options.curAnim ) { - jQuery.style(this.elem, p, this.options.orig[p]); + jQuery.style( this.elem, p, this.options.orig[p] ); } } @@ -443,14 +455,14 @@ jQuery.extend( jQuery.fx, { speeds: { slow: 600, - fast: 200, - // Default speed - _default: 400 + fast: 200, + // Default speed + _default: 400 }, step: { opacity: function( fx ) { - jQuery.style(fx.elem, "opacity", fx.now); + jQuery.style( fx.elem, "opacity", fx.now ); }, _default: function( fx ) { @@ -471,12 +483,4 @@ if ( jQuery.expr && jQuery.expr.filters ) { }; } -function genFx( type, num ) { - var obj = {}; - - jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() { - obj[ this ] = type; - }); - - return obj; -} +})( jQuery );