js实现获取鼠标当前的位置

获取鼠标当前位置是开发中常需要用到的功能之一。JavaScript可以轻松实现该操作。以下是获取鼠标当前位置的完整攻略。

获取鼠标当前位置的方式

常用的方式是利用鼠标移动事件,不断获取鼠标当前位置的横纵坐标。可以用鼠标移动事件mousemove来实现。

实现代码

下面是一个基本的 JavaScript 实现:

document.addEventListener('mousemove', function(e) {
  console.log('X轴坐标:', e.clientX, 'Y轴坐标:', e.clientY);
});

代码说明:

  1. document 绑定了 mousemove 事件,该事件在鼠标移动时会触发
  2. 回调函数中,使用 console.log() 打印出鼠标当前位置的横纵坐标

示例1:鼠标位置跟随

下面的示例展示了如何利用上述方法,让一个图片跟随鼠标移动。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>鼠标位置跟随</title>
  <style>
    #box {
      position: relative;
      height: 300px;
      width: 500px;
      margin: 100px auto;
    }
    #image {
      position: absolute;
      top: 0;
      left: 0;
    }
  </style>
</head>
<body>
  <div id="box">
    <img id="image" src="image.png" alt="Image">
  </div>
  <script>
    var image = document.getElementById('image');
    document.addEventListener('mousemove', function(e) {
      var x = e.clientX;
      var y = e.clientY;
      var box = document.getElementById('box');
      var boxX = box.offsetLeft;
      var boxY = box.offsetTop;
      var imageX = x - boxX;
      var imageY = y - boxY;
      image.style.left = imageX + 'px';
      image.style.top = imageY + 'px';
    });
  </script>
</body>
</html>

示例代码说明:

  1. mousemove 事件被绑定在 document
  2. 获取鼠标当前位置的横纵坐标
  3. 获取图片所在父元素(盒子)的左上角位置,计算出图片相对于盒子的位置
  4. 将图片位置设置为相对于盒子的位置

示例2:鼠标位置划线

下面的示例展示了如何利用上述方法,获取鼠标轨迹,绘制轨迹图形。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>鼠标位置划线</title>
  <style>
    #box {
      height: 300px;
      width: 500px;
      margin: 100px auto;
      border: 1px solid #ccc;
      position: relative;
    }
    #canvas {
      position: absolute;
      top: 0;
      left: 0;
    }
  </style>
</head>
<body>
  <div id="box">
    <canvas id="canvas"></canvas>
  </div>
  <script>
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    var box = document.getElementById('box');
    canvas.width = box.clientWidth;
    canvas.height = box.clientHeight;
    var isDrawing = false;
    document.addEventListener('mousemove', function(e) {
      if (isDrawing) {
        ctx.lineTo(e.clientX - canvas.offsetLeft, e.clientY - canvas.offsetTop);
        ctx.stroke();
      }
    });
    canvas.addEventListener('mousedown', function(e) {
      isDrawing = true;
      ctx.moveTo(e.clientX - canvas.offsetLeft, e.clientY - canvas.offsetTop);      
    });
    canvas.addEventListener('mouseup', function(e) {
      isDrawing = false;
    });
  </script>
</body>
</html>

示例代码说明:

  1. mousemove 事件被绑定在 document
  2. 获取鼠标当前位置的横纵坐标
  3. 绘制起点和终点之间的相连线
  4. mousedownmouseup 事件用来控制画线动作的开始和结束

结论

使用 JavaScript 获取鼠标当前位置非常简单。只要理解了获取鼠标当前位置的方式,利用JavaScript就能实现各种各样的效果,比如跟随、绘制等等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现获取鼠标当前的位置 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript中拼接HTML字符串的最快、最好的方法

    拼接HTML字符串是在javascript中开发中的一个常见需求。为了避免使用字符串拼接来构造HTML代码时产生的代码难以维护、不易阅读的问题,我们可以使用其他更好的方法来拼接HTML字符串,这是一个更快、更好的方法。 本文将介绍如何通过使用JavaScript来拼接HTML字符串,并给出两个例子,以详细解释每个步骤。 基于字符串模板的拼接 第一个方法是基于…

    JavaScript 2023年5月19日
    00
  • javascript真的不难-回顾一下基础知识

    “JavaScript真的不难-回顾一下基础知识”攻略 介绍 本篇攻略旨在回顾JavaScript的基础知识,帮助初学者系统地学习并理解这门语言。 JavaScript是一门广泛应用于网页设计的编程语言,它能给网页带来丰富的交互体验。学好JavaScript是现代网页设计中最重要的一步。 JavaScript语法 变量与数据类型 在JavaScript中,我…

    JavaScript 2023年5月28日
    00
  • 禁止iframe页面的所有js脚本如alert及弹出窗口等

    针对禁止iframe页面的所有JS脚本如alert及弹出窗口等,我们可以通过以下几种方法实现: 使用X-Frame-Options响应头 X-Frame-Options是一种HTTP响应头,在浏览器不允许在页面内嵌套其他网站时可以使用。该头部允许网站所有者控制页面如何在其他站点的iframe中呈现。 一个简单的例子如下: HTTP/1.1 200 OK Co…

    JavaScript 2023年6月11日
    00
  • json数据处理及数据绑定

    下面是关于”json数据处理及数据绑定”的完整攻略。 什么是JSON数据? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript语言对象的表示法,但是独立于JavaScript并且易于理解和使用。JSON格式常用于前端开发中,用于数据传输和存储,是一种常用的数据格式。 JSON格式的数据包含键…

    JavaScript 2023年5月27日
    00
  • js Array操作的最简短最容易理解方法

    下面就为大家详细讲解一下“js Array操作的最简短最容易理解方法”的完整攻略。 操作数组的方法 在JavaScript中,我们可以使用许多方法来操作数组,包括以下几个: push()方法 push()方法可以向数组末尾添加新元素。 const fruits = [‘apple’, ‘banana’]; fruits.push(‘orange’); con…

    JavaScript 2023年5月27日
    00
  • js如何准确获取当前页面url网址信息

    获取当前页面URL网址信息是JavaScript中常用的操作,下面是两条获取当前页面URL信息的示例: 使用location对象的href属性获取当前页面URL JavaScript中的location对象提供了访问当前页面URL信息的方法,其中最常见的方法是使用location.href属性。href属性返回当前页面的完整URL,包括协议、主机名、路径和查…

    JavaScript 2023年5月19日
    00
  • JS性能优化实现方法及优点进行

    JS性能优化实现方法及优点 JS性能优化是Web前端开发中的重要任务之一,优化JS性能有助于提高网站的访问速度和用户体验。本攻略将从以下几个方面进行详细讲解。 1. 减少DOM操作 DOM操作是JS性能影响最大的一部分,频繁的DOM操作会引起浏览器的重绘和回流,从而影响页面的性能。因此,减少DOM操作是JS性能优化的一种有效方法。 示例1:在DOM结构中添加…

    JavaScript 2023年6月10日
    00
  • 详解如何提升JSON.stringify()的性能

    提升 JSON.stringify() 的性能需要从以下几个方面入手: 1. 选择正确的可选参数 JSON.stringify() 方法可以接受三个参数:要序列化的 JavaScript 对象、替换函数和缩进字符串(可选的)。通过使用合适的可选参数来提升 JSON.stringify() 方法的性能。 1.1. 替换函数参数 JSON.stringify()…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部