当前位置:首页 > JavaScript

js实现鼠标移动

2026-01-30 11:36:10JavaScript

监听鼠标移动事件

使用 mousemove 事件监听鼠标移动,通过回调函数获取鼠标坐标(clientXclientY)。

document.addEventListener('mousemove', (event) => {
  const x = event.clientX;
  const y = event.clientY;
  console.log(`鼠标位置:X=${x}, Y=${y}`);
});

跟踪鼠标移动轨迹

通过记录坐标点实现轨迹跟踪,可用于绘图或动画效果。

const points = [];
document.addEventListener('mousemove', (event) => {
  points.push({ x: event.clientX, y: event.clientY });
  if (points.length > 100) points.shift(); // 限制记录数量
});

实现元素跟随鼠标

动态更新元素位置(如 div),使其跟随鼠标移动。

const follower = document.getElementById('follower');
document.addEventListener('mousemove', (event) => {
  follower.style.left = `${event.clientX}px`;
  follower.style.top = `${event.clientY}px`;
});

限制触发频率

使用节流(throttle)优化性能,避免高频触发。

function throttle(callback, delay) {
  let lastCall = 0;
  return function(...args) {
    const now = new Date().getTime();
    if (now - lastCall >= delay) {
      callback(...args);
      lastCall = now;
    }
  };
}

document.addEventListener('mousemove', throttle((event) => {
  console.log(`节流后的坐标:${event.clientX}, ${event.clientY}`);
}, 100));

检测移动方向

通过比较前后坐标差值判断移动方向(左/右/上/下)。

js实现鼠标移动

let prevX = 0;
document.addEventListener('mousemove', (event) => {
  const direction = event.clientX > prevX ? '右' : '左';
  prevX = event.clientX;
  console.log(`移动方向:${direction}`);
});

标签: 鼠标js
分享给朋友:

相关文章

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…