#158 new
Jim Higson

Effect.Morph fails if Array.prototype has been added to

Reported by Jim Higson | January 17th, 2009 @ 05:00 PM

Eg, try including json.js and doing $('foo').morph( 'background:#aaa' );

Scriptaculous 1.8.2's effects.js fails about line 964, eg here:

this.transforms = this.style.map(function(pair){
  var property = pair[0], value = pair[1], unit = null;

  if (value.parseColor('#zzzzzz') != '#zzzzzz') {
    value = value.parseColor();
    unit  = 'color';
  } else if (property == 'opacity') {
    value = parseFloat(value);
    if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
      this.element.setStyle({zoom: 1});
  } else if (Element.CSS_LENGTH.test(value)) {
      var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/);
      value = parseFloat(components[1]);
      unit = (components.length == 3) ? components[2] : null;

  var originalValue = this.element.getStyle(property);
  return {
    style: property.camelize(),
    originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
    targetValue: unit=='color' ? parseColor(value) : value,
    unit: unit

This is because value is sometimes of type function, and as such doesn't have 'parseColor' available as a function.

Comments and changes to this ticket

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

script.aculo.us is an open-source JavaScript framework for visual effects and interface behaviours.
<br/><b>Source available from github</b>
The Git repository resides at:
<a href="http://github.com/madrobby/scriptaculous">http://github.com/madrobby/scriptaculous</a>
<br/>Check out the current development trunk with:
<code>git clone git://github.com/madrobby/scriptaculous.git</code>
<br/>As <b>script.aculo.us 1.xx is feature-frozen</b>, this development trunk is for <b>bugfixes only</b>.
<br/>New development should happen only for
<b>script.aculo.us 2</b>.
<br/><b>Creating a bug report</b>
When creating a bug report, be sure to include as much relevant information as possible. Post a an example that shows off the problem. Preferably, <b>alter the unit tests</b> and show through either changed or added tests how the expected behavior is not occuring.

People watching this ticket