js、jq获取当前鼠标位置

本文提供了两种方法来获取网页中鼠标的当前位置:一种是使用jQuery库,另一种则是通过原生JavaScript实现。jQuery方法通过监听mousemove事件并读取originalEvent属性来获取坐标;而原生JavaScript则依赖于pageX/pageY或clientX/clientY等属性,并考虑了页面滚动偏移。

使用jQuery获取

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
    <title>javascript获得鼠标位置</title>
    <script src="js/jquery.min.js"></script>
</head>
<body id="testDiv">

</body>
<script type="text/javascript">
    $('#testDiv').mousemove(function (e) {
        var xx = e.originalEvent.x || e.originalEvent.layerX || 0;
        var yy = e.originalEvent.y || e.originalEvent.layerY || 0;
        $(this).text(xx + '---' + yy);
        //var d = document.getElementById("div");获取某div在当前窗口的位置
        //var dx = xx - p.getBoundingClientRect().left;
        //var dy = yy - p.getBoundingClientRect().top;
        //$(this).text(dx + '---' + dy);鼠标在该div内位置
    });
</script>
</body>

使用JavaScript获取

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
    <title>javascript获得鼠标位置</title>
</head>
<body>
鼠标X轴:
<input id=xxx type=text>
鼠标Y轴:
<input id=yyy type=text>
</body>
<script>
    function mouseMove(ev) {
        Ev = ev || window.event;
        var mousePos = mouseCoords(ev);
        document.getElementById("xxx").value = mousePos.x;
        document.getElementById("yyy").value = mousePos.y;
    }
    function mouseCoords(ev) {
        if (ev.pageX || ev.pageY) {
            return {x: ev.pageX, y: ev.pageY};
        }
        return {
            x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
            y: ev.clientY + document.body.scrollTop - document.body.clientTop
        };
    }
    document.onmousemove = mouseMove;
</script>
</html>
鼠标在页面上按下时,可以使用jQuery中的鼠标按下事件(mousedown event)来监听。一旦鼠标按下,就可以执行代码来实现自动滚动条流动到当前位置。 首先,我们需要获取当前滚动条的位置。可以使用jQuery的scrollTop()方法来获取垂直滚动条的位置,或者使用scrollLeft()方法获取水平滚动条的位置。 接下来,我们可以使用animate()方法来创建动画效果,使滚动条平滑流动到当前位置。在animate()方法中,我们可以设置scrollTop或scrollLeft属性的值为当前滚动条的位置,从而实现流动效果。 最后,我们将这段代码绑定在鼠标按下事件的回调函数中,以便在鼠标按下时执行。具体代码如下: ```javascript $(document).mousedown(function() { var currentScrollTop = $(window).scrollTop(); // 获取当前垂直滚动条位置 $('html, body').animate({ scrollTop: currentScrollTop }, 500); // 将滚动条流动到当前位置,动画持续时间为500毫秒 }); ``` 在上述代码中,我们通过监听整个文档的鼠标按下事件来实现滚动条的自动流动。当鼠标按下时,获取当前滚动条位置,并使用animate()方法创建动画效果,将滚动条平滑流动到当前位置。 请注意,上述代码假设你使用的是最新版本的jQuery,并且已经引入了jQuery库。如果需要适配旧版本的jQuery或者其他JavaScript库,请根据实际情况进行修改和调整。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值