鼠标悬浮移动特效

鼠标悬浮移动特效

效果

在这里插入图片描述

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        body{
            width: 100%;
            height: 100vh;
            background: green;
        }

        span{
            position: absolute;
            pointer-events: none;
            /*background: url("img/11.png");*/
            /*图片大小*/
            background-size: cover;
            /*变成圆心*/
            border-radius: 50%;
            /*图片位置*/
            background-position: center;
            /*执行动画 run是动画名称*/
            animation:run 5s linear;
            /*动画完成后将动画最后的状态应用到元素上*/
            animation-fill-mode:forwards;
        }

        @keyframes run {
            from{
            /*    开始是最原始状态*/
            }
            /*到2s内需扩大1.5b倍,完成旋转*/
            40%{
                transform:scale(1.5) rotate(180deg);
            }
            /*然后在到5秒是完成向右走半个身位,向上走10个身位*/
            to{
                transform:translate(50%,-1000%) rotate(1turn) scale(0.5);
                opacity: 0;
            }
        }
    </style>

    <script>
        document.addEventListener("mousemove",function (ev) {

            let body = document.querySelector("body");
            let span = document.createElement("span");
            let x = ev.offsetX;
            let y = ev.offsetY;
            //设置span的位置
            span.style.left=x+"px";
            span.style.top=y+"px";
            //大小随机
            let size = Math.random()*50;
            span.style.width = size+"px";
            span.style.height = size+"px";
            //动态改变图片,size.toFixed(0):浮点数取正
            // console.log(size.toFixed(0))
            if (size.toFixed(0)%2==0){
                span.style.backgroundImage='url("img/11.png")';
            }else {
                span.style.backgroundImage='url("img/4.jpg")';
            }

            body.appendChild(span);

            //四秒后要消失
            setTimeout(function () {
                span.remove();
            },5500)
        })

    </script>
</head>
<body>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值