jQuery点击出现爱心

jQuery点击页面出现爱心效果

在这里插入图片描述

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

    <head>
        <meta charset="UTF-8" />
        <title>爱心效果</title>
        <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
        <style type="text/css">
            #love {
                width: 30px;
                height: 30px;
                /*border: 1px solid red;*/
                position: absolute;
            }
            
            #first {
                width: 15px;
                height: 26px;
                background-color: red;
                position: absolute;
                right: 3.2px;
                bottom: 0;
                transform: rotate(45deg);
                border-radius: 10px 10px 1px 1px;
                opacity: 1;
            }
            
            #second {
                width: 15px;
                height: 26px;
                background-color: red;
                position: absolute;
                left: 3.2px;
                bottom: 0;
                transform: rotate(-45deg);
                border-radius: 10px 10px 1px 1px;
                opacity: 1;
            }
        </style>
    </head>

    <body></body>

    <script type="text/javascript">
        function random(lower, upper) {
            return Math.floor(Math.random() * (upper - lower)) + lower;
        }
        var body = document.getElementsByTagName("body")[0];
        document.onclick = function(e) {
            var num = random(0, 19);
            // 颜色数组
            var color = ["peru", "goldenrod", "yellow",
                "chartreuse", "palevioletred", "deeppink",
                "pink", "palegreen", "plum",
                "darkorange", "powderblue", "orangered",
                "orange", "orchid", "red",
                "aqua", "salmon", "gold", "lawngreen"
            ]

            var divmain = document.createElement("div");
            var first = document.createElement("div");
            var second = document.createElement("div");
            // 给div加属性
            divmain.setAttribute("id", "love");
            divmain.setAttribute("class", "love");
            first.setAttribute("id", "first");
            second.setAttribute("id", "second");
            // 向最外层内添加内层div
            divmain.appendChild(first);
            divmain.appendChild(second);
            // 根据鼠标位置来确定div的位置
            //divmain.style.top = e.pageY + "px";
            //divmain.style.left = e.pageX + "px";
            divmain.style.cssText = "top:" + e.pageY + "px;left:" + e.pageX + "px";

            // 给心形div加随机颜色
            first.style.backgroundColor = color[num];
            second.style.backgroundColor = color[num];
            body.appendChild(divmain);

            $(".love").animate({
                opacity: "0",
                top: "-=50px"
            }, 1500);

        }

        // 利用定时器来清除页面的垃圾
        setInterval(function() {
            var div = document.getElementsByClassName("love");
            var len = div.length;
            var num;
            for(var i = len - 1; i >= 0; i--) {
                num = parseInt(div[i].style.opacity);
                if(num <= 0) {
                    div[i].remove();
                }
            }

        }, 3500);
    </script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值