html+css+js实现小红点跟随鼠标移动

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;padding: 0;
        }
        .box{
            width: 100vw;
            height: 100vh;
            /* 该元素不能对鼠标事件做出反应 */
            /* pointer-events: none; */
            overflow: hidden;
            background: pink;
        }
        .dot {
            width: 20px;
            height: 20px;
            background-color: red;
            border-radius: 50%;
            position: absolute;
            top: 0px;
            left: 0px;
            transform: translate(-100%,-100%);
            /* 小球跟随鼠标的速度 越小越快 */
            transition: all 0.1s;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="dot"></div>
    </div>
    <script>
        const rdot = document.querySelector('.dot');
        // 监听事件:鼠标被移动
        document.addEventListener('mousemove',function(e){
            rdot.style.top = e.pageY + 'px';
            rdot.style.left = e.pageX + 'px';
        })
        // 鼠标指针移动到元素上时触发
        document.addEventListener('mouseenter',function(){
            rdot.style.opacity = 1
        })
        // 鼠标指针移出元素时触发
        document.addEventListener('mouseleave',function(){
            rdot.style.opacity = 0
        })
    </script>
</body>

</html>
相关推荐
嘉琪0011 分钟前
Day6 完整学习包(async/await)——2026 0318
前端·javascript·学习
css趣多多9 分钟前
# Vue 3 `<script setup>` 中变量声明的正确姿势:何时必须使用 `ref()`?
前端·javascript·vue.js
kyriewen1122 分钟前
Sass:让 CSS 从手工作坊迈入工业时代
前端·javascript·css·html·css3·sass·html5
冰暮流星23 分钟前
javascript之变量作用域
开发语言·前端·javascript
lxh011327 分钟前
嵌套数组生成器题解
开发语言·javascript·ecmascript
Dxy123931021631 分钟前
DrissionPage使用js点击:突破常规交互限制的“隐形手”
开发语言·javascript·交互
北寻北爱1 小时前
面试题-js篇
前端·javascript
这是个栗子1 小时前
前端开发中的常用工具函数(五)
javascript·数据结构·reduce
两万五千个小时1 小时前
学习 Pi Coding Agent:系统提示词与工具设计深度解析
javascript·人工智能·架构
harrain1 小时前
vue3多个watch监听统一等待触发再执行后续逻辑的处理方案
前端·javascript·vue.js