In Safari / Firefox, after some time after freezing, I received this error message (using an uncompressed source at https://raw.github.com/DmitryBaranovskiy/raphael/master/raphael.js ):
`raphael.js`, line 2946: `e.totalOrigin is undefined`
The only place where totalOrigin
installed is the totalOrigin
function:
line 3072: function runAnimation(anim, element, percent, status, totalOrigin, times) {
First, you call elproto.pause()
(line 3352), then elproto.resume()
(line 3361). pause()
sets the paused
property to true, resume()
removes this property. But resume
also calls the status()
method immediately after removing the paused
flag:
var e = animationElements[i]; if (eve("raphael.anim.resume." + this.id, this, e.anim) !== false) { delete e.paused; this.status(e.anim, e.status); }
The strange, incomplete elproto.status
method (line 3323) is called only by elproto.setTime()
and elproto.resume()
. This function creates some complex return value, but no active code uses its return value, but only comment lines starting at line 2980.
This function also calls the runAnimation
function if it has a value
parameter:
runAnimation(anim, this, -1, mmin(value, 1) ); totalOrigin should be passed here! ^^^
Unfortunately, it does not transmit anything to totalOrigin
, and this is the cause of the error.
I tried adding the parameter totalOrigin
based on line 3312:
runAnimation(anim, this, -1, mmin(value, 1), this.attr());
While it works, it does not work properly.
As a second attempt, I commented the whole line:
// runAnimation(anim, this, -1, mmin(value, 1));
Result: it works, but the time is wrong, perhaps the start time of the animation should be updated somewhere.
http://jsfiddle.net/7nGcR/26/ https://raw.github.com/gist/3067995/1e82de48eeacf98697b572efdc74c11a9b1d9d03/gistfile1.js