jQuery或Javascript问题:判断鼠标坐标是否在指定范围内

2025-04-13 10:25:30
推荐回答(3个)
回答(1):


// 保证点的数组是以顺时针保存
function pointInArea(pt, pts) {
    pts = pts.slice();
    pts.push(pts[0]); // 连接最后一边
    for (var i=1; i        var p0 = pts[i-1];
        var p1 = pts[i];
        var dx = p1.x-p0.x;
        var dy = p1.y-p0.y;
        if (dx == 0) {
            if (dy > 0 && pt.x > p0.x) {
                return false;
            }
            if (dy <0 && pt.x < p0.x) {
                return false;
            }
        }
        var y = dy/dx*(pt.x-p0.x)+p0.y;
        if (dx > 0 && pt.y < y) {
            return false;
        }
        if (dx <0 && pt.y > y) {
            return false;
        }
    }
    return true;
}

回答(2):

你好 给你个链接 里边基本符合你的需求 不过你要好好看看人家是如何做的 Good luck !http://jsfiddle.net/66YsR/

回答(3):

20RMB帮你写