当前位置:首页 > JavaScript

js实现mousemove

2026-02-02 02:50:16JavaScript

监听 mousemove 事件

在 JavaScript 中,可以通过 addEventListener 方法监听 mousemove 事件。该事件会在鼠标指针移动时触发。

document.addEventListener('mousemove', function(event) {
  console.log('鼠标位置:', event.clientX, event.clientY);
});

获取鼠标坐标

mousemove 事件对象包含多个属性可以获取鼠标位置信息:

js实现mousemove

  • clientX / clientY:相对于浏览器窗口可视区域的坐标
  • pageX / pageY:相对于整个文档的坐标(包含滚动偏移)
  • screenX / screenY:相对于屏幕物理分辨率的坐标
element.addEventListener('mousemove', (e) => {
  console.log('窗口坐标:', e.clientX, e.clientY);
  console.log('文档坐标:', e.pageX, e.pageY); 
  console.log('屏幕坐标:', e.screenX, e.screenY);
});

性能优化

频繁触发的 mousemove 事件可能导致性能问题,可以通过节流(throttle)技术优化:

js实现mousemove

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

const optimizedHandler = throttle((e) => {
  console.log('节流处理:', e.clientX);
}, 100);

document.addEventListener('mousemove', optimizedHandler);

应用示例:元素跟随鼠标

实现一个元素跟随鼠标移动的效果:

const follower = document.getElementById('follower');

document.addEventListener('mousemove', (e) => {
  follower.style.transform = `translate(${e.clientX}px, ${e.clientY}px)`;
});

移除事件监听

当不再需要监听时,应该移除事件处理器:

const handler = function(e) {
  console.log(e.clientX);
};

// 添加监听
document.addEventListener('mousemove', handler);

// 移除监听 
document.removeEventListener('mousemove', handler);

标签: jsmousemove
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https:/…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…