Jquery如何在鼠标距离元素x距离时触发函数

Jquery how to fire function when mouse is x distance from an element?

本文关键字:距离 函数 元素 鼠标 Jquery      更新时间:2023-09-26

我想有一个函数运行时,鼠标是X距离的元素。

我假设鼠标移动事件应该被移动,但由于元素可能并不总是在同一个地方,我不确定如何获得相对于元素的鼠标位置?

有没有人有类似的例子?

var mX, mY, distance;
$element  = $('#YourElementID');
    function calculateDistance(elem, mouseX, mouseY) {
        return Math.floor(Math.sqrt(Math.pow(mouseX - (elem.offset().left+(elem.width()/2)), 2) + Math.pow(mouseY - (elem.offset().top+(elem.height()/2)), 2)));
    }
    $(document).mousemove(function(e) {  
        mX = e.pageX;
        mY = e.pageY;
        distance = calculateDistance($element, mX, mY);
        // do your stuff with distance
    });

你需要绑定到mousemove事件,将元素角的坐标存储在全局变量中,并继续检查鼠标移动的每个像素,直到当前鼠标位置和对象坐标之间的向量长度为x,然后触发你绑定一些函数的自定义事件。

我不知道有一个插件已经这样做了,所以一定要发布一个链接到你在这里写的插件。:)