使用鼠标移动事件 (mousemove) 和 CSS 的 transform 属性可以实现让某个元素跟随鼠标移动。具体实现步骤如下:

  1. 获取要跟随鼠标移动的元素和页面的宽度和高度。
var element = document.getElementById('element-id');
var pageWidth = window.innerWidth;
var pageHeight = window.innerHeight;
  1. 监听鼠标移动事件,获取鼠标的坐标。
document.addEventListener('mousemove', function(event) {
  var mouseX = event.clientX;
  var mouseY = event.clientY;
});
  1. 计算元素应该移动的位置,通过 CSS 的 transform 属性设置元素的位置。
var moveX = (mouseX / pageWidth) * 100;
var moveY = (mouseY / pageHeight) * 100;
element.style.transform = 'translate(' + moveX + '%, ' + moveY + '%)';

完整代码如下:

var element = document.getElementById('element-id');
var pageWidth = window.innerWidth;
var pageHeight = window.innerHeight;

document.addEventListener('mousemove', function(event) {
  var mouseX = event.clientX;
  var mouseY = event.clientY;
  var moveX = (mouseX / pageWidth) * 100;
  var moveY = (mouseY / pageHeight) * 100;
  element.style.transform = 'translate(' + moveX + '%, ' + moveY + '%)';
});

注意:需要在 CSS 中设置元素的定位方式为绝对定位 (position: absolute),否则元素无法跟随鼠标移动。


原文地址: https://www.cveoy.top/t/topic/mkWZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录