滚动条距离和元素绝对位置计算记录

1. 滚动条距离写法

window.pageYOffset (老版语法,兼容IE9) 推荐
window.scrollX (新版语法,不兼容IE) 推荐
document.documentElement.scrollTop (其他方法)
document.body.scrollTop (其他方法)

直接用 window.pageYOffset 就行,既短,兼容性也好

2. 计算元素绝对位置

 var rect = element.getBoundingClientRect();
 var elementX = rect.left + window.pageXOffset;
 var elementY = rect.top + window.pageYOffset;

写法可以很简洁,无需在写较长的兼容代码

3. 计算鼠标与元素距离

复制代码
document.addEventListener("mousemove", function (event) {
    // 获取鼠标位置
    var mouseX = event.pageX;
    var mouseY = event.pageY;

    var element;
    var rect = element.getBoundingClientRect();
    var elementX = rect.left + window.pageXOffset;
    var elementY = rect.top + window.pageYOffset;

    var distanceX = mouseX - elementX;
    var distanceY = mouseY - elementY;
    
    // 将距离值设置到每一个卡片元素上面
    element.style.setProperty('--x', distanceX + 'px');
    element.style.setProperty('--y', distanceY + 'px');
})
复制代码

 

posted @   全玉  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示