diff options
author | Thomas Fuchs <thomas@fesch.at> | 2006-04-01 19:47:31 +0000 |
---|---|---|
committer | Thomas Fuchs <thomas@fesch.at> | 2006-04-01 19:47:31 +0000 |
commit | bb2276098a5a21c35e5ee72b3097bd9d7caa919f (patch) | |
tree | 2836ff94d390e690cee155b35c42bb9f55a5571e /actionpack/lib/action_view/helpers/javascripts/effects.js | |
parent | 217f67bf847c3f80e9e13698fd42dcf3b3782fa9 (diff) | |
download | rails-bb2276098a5a21c35e5ee72b3097bd9d7caa919f.tar.gz rails-bb2276098a5a21c35e5ee72b3097bd9d7caa919f.tar.bz2 rails-bb2276098a5a21c35e5ee72b3097bd9d7caa919f.zip |
Applied Prototype $() performance patches (#4465, #4477) and updated script.aculo.us [Sam Stephenson, Thomas Fuchs]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4122 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_view/helpers/javascripts/effects.js')
-rw-r--r-- | actionpack/lib/action_view/helpers/javascripts/effects.js | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/actionpack/lib/action_view/helpers/javascripts/effects.js b/actionpack/lib/action_view/helpers/javascripts/effects.js index bcf836b83c..927400502d 100644 --- a/actionpack/lib/action_view/helpers/javascripts/effects.js +++ b/actionpack/lib/action_view/helpers/javascripts/effects.js @@ -77,9 +77,12 @@ Element.getInlineOpacity = function(element){ } Element.childrenWithClassName = function(element, className, findFirst) { - return [$A($(element).getElementsByTagName('*'))[findFirst ? 'detect' : 'select']( function(c) { - return c.className ? Element.hasClassName(c, className) : false; - })].flatten(); + var classNameRegExp = new RegExp("(^|\\s)" + className + "(\\s|$)"); + var results = $A($(element).getElementsByTagName('*'))[findFirst ? 'detect' : 'select']( function(c) { + return (c.className && c.className.match(classNameRegExp)); + }); + if(!results) results = []; + return results; } Element.forceRerendering = function(element) { @@ -91,11 +94,6 @@ Element.forceRerendering = function(element) { } catch(e) { } }; -['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom', - 'collectTextNodes','collectTextNodesIgnoreClass','childrenWithClassName'].each( - function(f) { Element.Methods[f] = Element[f]; } -); - /*--------------------------------------------------------------------------*/ Array.prototype.call = function() { @@ -943,11 +941,18 @@ Effect.Fold = function(element) { effect.element.setStyle(oldStyle); } }); }}, arguments[1] || {})); -} +}; + +['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom', + 'collectTextNodes','collectTextNodesIgnoreClass','childrenWithClassName'].each( + function(f) { Element.Methods[f] = Element[f]; } +); Element.Methods.visualEffect = function(element, effect, options) { s = effect.gsub(/_/, '-').camelize(); effect_class = s.charAt(0).toUpperCase() + s.substring(1); new Effect[effect_class](element, options); return $(element); -};
\ No newline at end of file +}; + +Element.addMethods();
\ No newline at end of file |