From: andrewferk on
The following code is stored inside a div element.

Movable.prototype.moveTimer = function() {
this.style.left = (this.offsetLeft - (this.posX - this.newX)) + "px";
this.style.top = (this.offsetTop - (this.posY - this.newY)) + "px";
this.posX = this.newX;
this.posY = this.newY;
}

every 40 ms it is called by a timer.

var self = this;
this.timer = setInterval(function(){self.moveTimer()},40);

It works all the time in Firefox. Sometimes in IE it says it gets an
invalid argument here:

-->|this.style.left = (this.offsetLeft - (this.posX - this.newX)) +
"px";

The code moves the div element with a mouse click and drag. After I
get the error I can try to drag it again and it will drag. Sometimes
it will not get the error. So it's like... random?

Any help would be great. Thanks
From: Thomas 'PointedEars' Lahn on
andrewferk(a)gmail.com wrote:
> The following code is stored inside a div element.
>
> Movable.prototype.moveTimer = function() {
> this.style.left = (this.offsetLeft - (this.posX - this.newX)) + "px";
> this.style.top = (this.offsetTop - (this.posY - this.newY)) + "px";
> this.posX = this.newX;
> this.posY = this.newY;
> }
>
> every 40 ms it is called by a timer.
>
> var self = this;
> this.timer = setInterval(function(){self.moveTimer()},40);
>
> It works all the time in Firefox. Sometimes in IE it says it gets an
> invalid argument here:
>
> -->|this.style.left = (this.offsetLeft - (this.posX - this.newX)) +
> "px";
>
> The code moves the div element with a mouse click and drag. After I
> get the error I can try to drag it again and it will drag. Sometimes
> it will not get the error. So it's like... random?

Welcome to MSHTML. That said, you should not augment host objects; if you
have the need to do that, use a wrapper object instead.


PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann