• JS——鼠标在盒子中的坐标


    核心思想:

    1、复杂版本:鼠标pageX、pageY的值减去盒子距离顶端的offsetLeft、offsetTop值就是鼠标在盒子中的坐标

    2、简单版本:offsetX、offsetY就可获取鼠标相对于事件触发对象的坐标,以事件触发对象左上角为基准点

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                padding: 0;
                margin: 0;
            }
    
            div {
                width: 400px;
                height: 400px;
                background-color: #ccc;
                margin: 150px auto;
                font: 600 17px/400px "simsun";
                text-align: center;
            }
    
            span {
                color: red;
            }
        </style>
    </head>
    <body>
    <div>
        鼠标在盒子中的坐标X:000 Y:000
    </div>
    <script>
        var divEle = document.getElementsByTagName("div")[0];
        divEle.onmousemove = function (ev) {
            ev = ev || window.event;
            var pageX = ev.pageX || scroll().left + ev.clientX;
            var pageY = ev.pageY || scroll().top + ev.clientY;
            var x = pageX - divEle.offsetLeft;
            var y = pageY - divEle.offsetTop;
            divEle.innerHTML = "鼠标在盒子中的坐标X:" + "<span>" + x + "</span>" +
                " Y:" + "<span>" + y + "</span>";
        }
    
        function scroll() {
            return {
                "top": window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop,
                "left": window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft
            };
        }
    </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                padding: 0;
                margin: 0;
            }
    
            div {
                width: 400px;
                height: 400px;
                background-color: #ccc;
                margin: 150px auto;
                font: 600 17px/400px "simsun";
                text-align: center;
            }
    
            span {
                color: red;
            }
        </style>
    </head>
    <body>
    <div>
        鼠标在盒子中的坐标X:000 Y:000
    </div>
    <script>
        var divEle = document.getElementsByTagName("div")[0];
        divEle.onmousemove = function (ev) {
            ev = ev || window.event;
            var x = ev.offsetX;
            var y = ev.offsetY;
            divEle.innerHTML = "鼠标在盒子中的坐标X:" + "<span>" + x + "</span>" +
                " Y:" + "<span>" + y + "</span>";
        }
    </script>
    </body>
    </html>

  • 相关阅读:
    安装elasticsearch 和 kibana
    docker 安装 nignx 并将对应配置文件映射
    linux 操作笔记
    docker 一些常用的命令手记
    c# 异步 多线程
    从零开始在.net中使用Nhibernate对数据库进行操作详细步骤(20121128)
    NHibernate框架的HQL增删改查
    2012年11月19日 利用wifiap简单实现Wifi无线Web认证
    逻辑结构和物理结构
    日志
  • 原文地址:https://www.cnblogs.com/wuqiuxue/p/7977000.html
Copyright © 2020-2023  润新知