首页 > 其他分享 >滚动条距离和元素绝对位置计算记录

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

时间:2023-12-13 15:25:52浏览次数:30  
标签:pageYOffset 记录 元素 element 滚动条 window var rect

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');
})

 

标签:pageYOffset,记录,元素,element,滚动条,window,var,rect
From: https://www.cnblogs.com/mengff/p/17899109.html

相关文章

  • 个人常用快捷键(简单命令)记录
    个人常用快捷键(简单命令)记录目录目录个人常用快捷键(简单命令)记录目录Win10IDEA浏览器DOCWin10描述快捷键剪切板win+v切屏Alt+TabIDEA描述快捷键全局查找Alt+f(自定义)全局替换Alt+r(自定义)查看类方法Ctrl+F12运行代码Ctrl+Shift+F1......
  • 2023最新中级难度Redis面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-中级难度Redis面试题合集问:请解释Redis中的持久化机制RDB和AOF的区别,并谈谈你在实际应用中的选择。Redis的两种持久化机制分别为RDB和AOF:RDB(RedisDatabase)是Redis默认的持久化方式,会在指定的时间间隔内将内存中的数据集快照写入磁盘......
  • 2023最新初级难度Redis面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-初级难度Redis面试题合集问:请简单介绍一下Redis,以及它主要用于解决什么问题?Redis是一款键值存储系统,也被称为“内存数据库”,其主要特点是在内存中高速存储数据。它的优点在于其极高的读写速度和较低的延迟,因此常被用来作为缓存、队列......
  • 代码随想录算法训练营Day1 | 704.二分查找、27.移除元素
    LeetCode704.二分查找二分查找是一种基础的算法,其核心思想在高中数学中就已经被大家所熟知了,然而对于代码的实现,其细节问题常常令人头疼,比如while循环的条件是什么?middle是该+1还是-1?这些问题需要有一个清晰的认知。题目链接如下:704.二分查找Carl的讲解链接:二分查找算法......
  • 线索二叉树记录
                                       中序遍历:   BADCE 将树型结构转换为线性结构,每个结点都有直接前驱和直接后继。              ......
  • 2023-12-13 晚上听课的一点重要记录。 目标 和 感受 分开
    2023-12-13  目标和感受分开。改变习惯去实现目标,有时候就是很难受的事。一边难受着一边做。人家改变的时候,哭两个小时,接着干,干一个小时,又继续哭两个小时,又继续干。就是这样过来的。难受就难受着干。  父母是平凡的,我是平凡的,孩子是平凡的。  善恶不一定。并不......
  • Python学习多线程、多进程、多协程记录
    一、多线程应用于请求和IO#1.Python中关于使用多线程多进程的库/模块#2.选择并发编程方式(多线程Thread、多进程Process、多协程Coroutine)前置知识: 一、三种有各自的应用场景 1.一个进程中可以启动多个线程 2.一个线程中可以启动多个协程 二、各自优缺点 1......
  • 每日一题--2454.下一个更大元素IV
    题目链接:2454.下一个更大元素IV题目:给你一个下标从 0 开始的非负整数数组 nums 。对于 nums 中每一个整数,你必须找到对应元素的 第二大 整数。如果 nums[j] 满足以下条件,那么我们称它为 nums[i] 的 第二大 整数:j>inums[j]>nums[i]恰好存在 一个 k 满......
  • 十二月十二日破防记录
    【详细解密】CQ-01怎样写Pollard-Rho写破防【既然遇到了就来学一学pollard-rho吧】.jpg这是怎么会是呢?感觉对着题解抄都抄不对啊!/fn/fn/fn把数据下下来一个一个调,最后发现是随机的时候RE了???经过仔细观察,发现我写随机的时候写的是:uniform_int_distribution<>u(2,x-1);......
  • jQuery Validate验证使用记录
    官网:https://jqueryvalidation.org特别说明:前端验证只适用于一般用户,后端必须再次验证0、演示1、导入js<scriptsrc="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script><scripttype="text/javascript"src="https://cdn.bootcss.com/jquery-valida......