制作简单的元素跟随鼠标移动,处于元素中心

2023-11-03

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

使用html 制作简单的元素跟随鼠标移动。

一、原理

首先需要监听鼠标移动事件,我使用的是 addEventListener。然后将获取的鼠标位置赋予需要移动的元素。此元素需要将position设为absolute,若想鼠标处于元素中心则需要减去一半的宽度和高度,与居中的原理相似。

二、获取到的元素位置

clientX, clientY是鼠标当前相对于网页的位置。

offsetX, offsetY是鼠标当前相对于某一元素的位置。

screenX, screenY是相对于用户显示器的位置。

x,y是鼠标当前相对于当前浏览器的位置。

其中client,screen,x都不会跟随滑动栏超出增加,而offset则会随着滑动栏超出增加

三、代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        html,
        body {
            width: 100%;
            height: 5000px;
        }
        
        .dot {
            width: 100px;
            height: 100px;
            background-color: red;
            transition: transform 2s;
            position: absolute;
            top: 0;
            left: 0;
        }
        
        .dot:hover {
            transform: rotateZ(180deg);
        }
        
        .box {
            width: 100%;
            height: 100%;
            background: grey;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="dot"></div>
    </div>
</body>
<script>
    const box = document.querySelector('.box');
    const dot = document.querySelector('.dot');
    console.log(box);


    box.addEventListener('mousemove', (e) => {
        console.log(e);
        dot.style.top = e.y - 50 + 'px';
        dot.style.left = e.x - 50 + 'px';
    });
</script>

</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

制作简单的元素跟随鼠标移动,处于元素中心 的相关文章

  • 两列表:一列尽可能小,另一列占据其余部分

    我在 div 中有一个 to columns 表 div table tbody tr td class action a a td td class content p Bigger text variable size p td tr
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • onclick 事件中未调用函数

    我想在每个 YouTube 链接的末尾添加一些 HTML 以在 litebox 中打开播放器 到目前为止 这是我的代码 document ready function var valid url new RegExp youtube com
  • JavaScript RegEx:不同的结果:使用字符串和使用正则表达式“文字”构建模式?

    使用 RegExp 文字与字符串之间有什么区别吗 http jsfiddle net yMMrk http jsfiddle net yMMrk String prototype lastIndexOf function pattern p
  • mongodb 聚合 - 累积字段的不同组值

    如果我有Player表格文件 name String score Int 我有Group文档 其中组代表玩家列表 groupName String players ObjectID 玩家可以属于多个组 我想做一个聚合Player文档 按以下
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • 主页(网格)上的缩略图现在显得模糊。如何纠正?

    我不知道这看起来是否愚蠢 但从早上开始我就无法纠正这个突然出现在我的博客网站上的错误www candidopinions in http www candidopinions in 我有一个网格视图模板 其中博客文章中的特色图像作为调整大小
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • css3按钮背景颜色无限过渡

    有没有办法仅使用 css3 使按钮的背景颜色从灰色渐变为蓝色 然后又回到灰色 一个很好的例子是默认操作按钮是可可 我知道这可以在 javascript 中完成 但我宁愿只使用 css 来完成此操作 您好 我已经通过 CSS3 动画制作了按钮
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • Linux中利用docker搭建深度学习环境

    写在前面 在深度学习中 避免不了在远程服务器上进行模型的训练 如果直接在服务器裸机的基础环境跑显然是不可取的 此时搭建用于模型训练的docker环境显得尤为重要 1 下载基础镜像 选择一个合适的基础镜像会给后续的操作带来极大的便利 其中uf
  • centos7安装redis

    文章目录 一 准备工作 二 安装redis 三 配置redis 四 配置redis服务 五 其他 一 准备工作 关闭防火墙等 linux时间校对 试验环境 虚拟机服务器版本 centos7 虚拟机IP地址 192 168 1 10 win端
  • uniapp在H5获取当前定位信息不需要SDK可直接获取城市(包括经纬度省市区和市区编码)

    前言 最近在做获取用户当前定位信息的时候 发现uniapp官方提供的uni getLocation OBJECT 兼容性并不是特别好 光注意事项都是密密麻麻一大堆 在实际使用场景下 效果并不理想 也不是很稳定 于是便重新封装了一下腾讯地图的
  • JUC-多线程(5.获得线程的第三种方式)学习笔记

    文章目录 获得线程的第三种方式 Callable接口 1 前言 1 获得多线程的方法几种 2 以下两种获得线程的方式的异同 2 使用 1 重写 call 方法 2 创建线程 3 获取返回值 3 原理 1 简述 2 解释 3 结论 获得线程的
  • 关于加速度计读数与加速度方向的问题

    近几日对加速计读数的正负与其敏感轴 实际加速度计方向的关系又产生了诸多疑问 参考这篇博文的一个模型后 更是混乱了 http www geek workshop com forum php mod viewthread tid 1695 re
  • Kotlin Primer·第三章·Kotlin 与 Java 混编

    虽然 Kotlin 的开发很方便 但当你与他人协作时 总会碰到 Java 与 Kotlin 代码共存的代码项目 本章就教你如何优雅的实现 Kotlin 与 Java 混合编程 3 1 直接转换 3 1 1 将 Java 转换为 Kotlin
  • 数据库设计技巧

    如今 随着软件应用领域的扩大 我们要处理的数据也越来越多 面对各式各样的数据 我怎么样系统的保存和管理这些数据呢 这里我们就要采用关系型数据库 关系型数据库是当前最广泛的应用的数据库类型 如mysql oracle access 等等 很多
  • 力扣:455. 分发饼干--方法二使用while

    假设你是一位很棒的家长 想要给你的孩子们一些小饼干 但是 每个孩子最多只能给一块饼干 对每个孩子 i 都有一个胃口值 g i 这是能让孩子们满足胃口的饼干的最小尺寸 并且每块饼干 j 都有一个尺寸 s j 如果 s j gt g i 我们可
  • 等额本息算法及原理

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 首先我们假设我们的借款总额为a 借款年利率为n 借款月利率为b 借款期数为d 总还款为z 每月应还款为y 则会有 z d y 首先我们来算第一个月还钱情况 我们第一个月还的
  • LVS负载均衡群集(NAT模式、IP隧道模式、DR模式)

    目录 一 集群 1 1 含义即特点 1 2 群集的类型 1 3 LVS 的三种工作模式 1 4 LVS 调度算法 1 5 负载均衡群集的结构 1 6 ipvsadm 工具 二 NAT模式 LVS NAT模式配置步骤 实例 配置NFS服务器1
  • 论文笔记:Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation

    2017 Sensor CNN 交通预测 1 交通矩阵提取 x轴 y轴分别是矩阵的时间和空间 交通矩阵的channel数量为1 2 使用CNN进行预测 3 实验部分 3 1 交通矩阵可视化 3 2 不同的CNN框架以及对应的精度
  • JDK动态代理的底层实现原理

    JDK动态代理的底层实现原理 动态代理是许多框架底层实现的基础 比如Spirng的AOP等 其实弄清楚了动态代理的实现原理 它就没那么神奇了 下面就来通过案例和分析JDK底层源码来揭秘她的神秘面纱 让她一丝不挂地呈现在我们面前 邪恶了 代理
  • 软件测试行业核心竞争力是什么?

    1 测试行业正在发生变化 在互联网新趋势和新要求的变革推动下 测试行业也在不知不觉中发生着非常大的改变 从早些年的懵懂发展 大家摸着石头过河 到大多高校设立软件测试专业 再到近几年各种测试培训盛行 如果说早期软件测试行业还是一个风口 随着不
  • 7.27美联储未能给出明确指引,黄金多空该如何布局

    近期有哪些消息面影响黄金走势 黄金多空该如何研判 黄金消息面解析 周四 7月27日 亚市早盘 美元指数承压于101 00关口附近 现货黄金价格维持在1980美元 盎司左右 美联储7月决策符合预期 鲍威尔对利率前景的看法接近 中间立场 介于鹰
  • javascript 判断奇偶性

  • 反思"列名无效"的问题

    发帖解决了 贴在地址 http topic csdn net u 20110316 21 1ee00820 09f4 446a a451 6e84694abfc5 html 829232601 初学 net 今天连数据库 一直报 列名无效
  • 浅谈迁移学习

    迁移学习背景 吴恩达 Andrew Ng 曾说 迁移学习将会是继监督学习之后的下一个机器学习商业成功的驱动力 现如今数据大爆炸 对机器学习模型来说要求快速构建 强泛化 对于数据来说 大部分数据没有标签 而传统的机器学习需要对每个领域都标定大
  • 关于Data at the root level is invalid错误的解决方式

    有时在使用XmlDocument LoadXML 方法时会出现报Data at the root level is invalid的错误 网上很多说发是因为xml文件的格式不对引起 如果你在仔细的查看了xml文件格式后并没有发现问题 那么很
  • 阿里云服务器Linux中CentOS7安装配置nginx的完整教程

    阿里云服务器CentOS7中安装配置nginx的完整教程 安装nginx依赖的环境 解压到要安装的文件夹 先创建一个目录用来存放安装的目录 指定nginx的安装路径为创建的目录路径 编译nginx 先执行make 执行安装 make ins
  • 制作简单的元素跟随鼠标移动,处于元素中心

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 原理 首先需要监听鼠标移动事件 我使用的是 addEventListener 然后将获取的鼠标位置赋予需要移动的元素 此元素需要将position设为ab