Javascript JS-简单绘图

Javascript JS-简单绘图,javascript,jquery,mouse,move,Javascript,Jquery,Mouse,Move,我有一个问题,过去一个小时我一直在努力解决,但没有成功。 以下是完整的代码: 问题是:当我使用updatePoint函数时,point.x(和point.y)没有明显的原因是NaN,因此它不会绘制点。但是,如果您将函数updatePoints注释掉,它通常会绘制点(point.x和y具有正确的值)。这意味着update函数肯定有问题,但我看不出有任何错误,我过去使用这个函数时没有遇到任何问题 任何帮助都将不胜感激 更新功能: function updatePoint(point) { c

我有一个问题,过去一个小时我一直在努力解决,但没有成功。 以下是完整的代码:

问题是:当我使用updatePoint函数时,point.x(和point.y)没有明显的原因是NaN,因此它不会绘制点。但是,如果您将函数updatePoints注释掉,它通常会绘制点(point.x和y具有正确的值)。这意味着update函数肯定有问题,但我看不出有任何错误,我过去使用这个函数时没有遇到任何问题

任何帮助都将不胜感激

更新功能:

function updatePoint(point) {
    console.log(pointList[10].x)
        point.eX = pageX - offLeft;
        point.eY = pageY - offTop;         
        var dx = (point.eX - point.origPosX);
        var dy = (point.eY - point.origPosY);
        var mag = Math.sqrt(dx * dx + dy * dy);
        point.velocityX = (dx / mag) * point.speed;
        point.velocityY = (dy / mag) * point.speed;
        point.x += point.velocityX;
        point.y += point.velocityY;       
    } 

当页面加载并最初调用“draw”时,变量“pageX”和“pageY”尚未从“mousemove”事件处理程序初始化;所有这些事件都不会在那时发生

我所做的重要改变是:

var pageX = 0;
var pageY = 0;

我还做了一些小改动,以使代码在fiddle上下文中正常工作。

您的fiddle设置不正确。JSFIDLE代码本身添加了
标记,并在“加载”事件处理程序中运行代码。