当前位置:首页 > JavaScript

js实现跟随

2026-03-15 04:36:33JavaScript

js实现跟随

js实现跟随

实现跟随效果的方法

在JavaScript中实现跟随效果通常涉及监听鼠标或触摸事件,并动态更新目标元素的位置。以下是几种常见实现方式:

基础鼠标跟随

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

平滑缓动跟随

let posX = 0, posY = 0;
const follower = document.getElementById('follower');
const ease = 0.1;

function animate() {
    const dx = (mouseX - posX) * ease;
    const dy = (mouseY - posY) * ease;
    posX += dx;
    posY += dy;
    follower.style.transform = `translate(${posX}px, ${posY}px)`;
    requestAnimationFrame(animate);
}

let mouseX = 0, mouseY = 0;
document.addEventListener('mousemove', (e) => {
    mouseX = e.clientX;
    mouseY = e.clientY;
});

animate();

元素跟随特定目标

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

function updatePosition() {
    const rect = target.getBoundingClientRect();
    follower.style.left = rect.left + 'px';
    follower.style.top = rect.top + 'px';
    requestAnimationFrame(updatePosition);
}

updatePosition();

跟随滚动位置

window.addEventListener('scroll', () => {
    const follower = document.getElementById('follower');
    follower.style.top = window.scrollY + 100 + 'px';
});

注意事项

  • 性能优化:使用transform代替top/left进行动画,利用硬件加速
  • 节流处理:对频繁触发的事件(如mousemove)进行节流控制
  • 边界检测:确保跟随元素不会超出可视区域
  • 移动端适配:需要同时处理touchmove事件

扩展功能

  • 添加跟随延迟效果
  • 实现跟随路径记录
  • 添加跟随元素的旋转朝向
  • 实现多级跟随(多个元素链式跟随)

以上代码示例可根据具体需求进行调整和组合,实现不同风格的跟随效果。

标签: js
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js 实现全选

js 实现全选

实现全选功能的方法 使用 JavaScript 实现全选功能通常需要操作复选框(checkbox)的状态。以下是几种常见的实现方式。 通过 DOM 操作实现全选 // 获取全选复选框和子复选框 co…