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>
相关推荐
张元清几秒前
React 19 Hooks:新特性及高效使用指南
前端·javascript·面试
清空mega36 分钟前
《Vue3 中 computed、watch、watchEffect 怎么用?响应式核心能力详解》
前端·javascript·vue.js
SuperEugene1 小时前
前端-后端-产品-项目-运维:互联网项目协作全流程解析
运维·前端·javascript
A黄俊辉A1 小时前
openlayers+vue初学注意点
前端·javascript·vue.js
南篱1 小时前
从回调地狱到优雅异步:JavaScript 异步编程的完整演进之路
前端·javascript·面试
rmst1 小时前
列表的拖动排序动画原理
javascript·react.js·动效
进击的雷神1 小时前
无分页一次性加载、多级CSS类名定位、动态User-Agent轮换、断点本地备份——意大利塑料展爬虫四大技术难关攻克纪实
前端·css·爬虫·python
Mintopia2 小时前
CSS 你不知道的颜色用法:从现代语法到真实落地的配色策略
前端·css
undeflined2 小时前
EnvManage - 多环境开发代理管理工具
前端·javascript·node.js
三小河2 小时前
从零实现ollama本地大模型可视化+内网穿透
前端·javascript·面试