• 获取鼠标在画布中的位置


    JS实现获取鼠标在画布中的位置

    有趣的小案例池子
    JS实现定时器
    JS实现关闭图片窗口
    JS实现输入检验
    获取焦点后隐藏提示内容的输入框
    JS实现获取鼠标在画布中的位置
    聊天信息框显示消息
    JS点击切换背景图
    自动切换背景的登录页面
    JS制作跟随鼠标移动的图片
    JS实现记住用户密码

    效果展示

    在这里插入图片描述

    概述

    本文讲解如何实现我们平时用的画布软件中,怎么获取的我们鼠标时刻在画布中的位置。

    构建HTML框架

    <body>
        <div class="box">div>    
    body>
    
    • 1
    • 2
    • 3

    CSS样式

    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    JS逻辑

    <script>
            // 思路:
            // 我们在盒子内点击, 想要得到鼠标距离盒子左右的距离。
            // 首先得到鼠标在页面中的坐标( e.pageX, e.pageY)
            // 其次得到盒子在页面中的距离(box.offsetLeft, box.offsetTop)
            // 用鼠标距离页面的坐标减去盒子在页面中的距离, 得到 鼠标在盒子内的坐标
            // 我们生活中常见的画布里面的那个获取鼠标的位置 就是这么实现的
            var box = document.querySelector('.box');  // 获取盒子的元素
            box.addEventListener('mousemove', function(e) {  // 为盒子添加监听事件 当鼠标在盒子上面的时候
                // console.log(e.pageX);
                // console.log(e.pageY);
                // console.log(box.offsetLeft);
                var x = e.pageX - this.offsetLeft; 
                var y = e.pageY - this.offsetTop;
                this.innerHTML = 'x坐标是' + x + ' y坐标是' + y;
            })
        </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    完整代码

    DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Documenttitle>
        <style>
            .box {
                /* 设置盒子的大小 */
                width: 300px;
                height: 300px;
                /* 设置盒子的背景 */
                background-color: white;
                /* 设置边框 */
                border: 1px solid black;
                /* 设置盒子的外边距 */
                margin: 200px;
            }
        style>
    head>
    
    <body>
        <div class="box">div>
        <script>
            // 思路:
            // 我们在盒子内点击, 想要得到鼠标距离盒子左右的距离。
            // 首先得到鼠标在页面中的坐标( e.pageX, e.pageY)
            // 其次得到盒子在页面中的距离(box.offsetLeft, box.offsetTop)
            // 用鼠标距离页面的坐标减去盒子在页面中的距离, 得到 鼠标在盒子内的坐标
            // 我们生活中常见的画布里面的那个获取鼠标的位置 就是这么实现的
            var box = document.querySelector('.box');  // 获取盒子的元素
            box.addEventListener('mousemove', function(e) {  // 为盒子添加监听事件 当鼠标在盒子上面的时候
                // console.log(e.pageX);
                // console.log(e.pageY);
                // console.log(box.offsetLeft);
                var x = e.pageX - this.offsetLeft; 
                var y = e.pageY - this.offsetTop;
                this.innerHTML = 'x坐标是' + x + ' y坐标是' + y;
            })
        script>
    body>
    
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
  • 相关阅读:
    vue3移动端适配的解决方案
    Python如何计算两个数字之和是多少?
    模拟BIO实战--实现一个线程对应一个客户端
    torch gpu
    C#作为客户端http通讯
    升余弦滤波器的FPGA实现
    通用任务批次程序模板
    ROS小车——编写launch文件(8)【ROS保姆注释教学】
    Probability Calibration概率校准大比拼:性能、应用场景和可视化对比总结
    形态学图像处理
  • 原文地址:https://blog.csdn.net/qq_51447496/article/details/128196074