微信运动红心点赞效果

㈠使用HTML +CSS先设计一个心形,背景为灰色,接着使用原生JS的DOM操作修改一下背景属性,次语句发送到DOM二级事件addEventListener的句柄。

代码示例如下图所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>微信运动点赞</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .heart{
            position:absolute;
            left: 50%;
            top:50%;
            margin-left: -150px;
            margin-top: -135px;
            width: 300px;
            height:270px;
            background: transparent;
            animation: test 1s linear 1;
            filter:drop-shadow(0px 0px 4px rgb(192,192,192));
        }
        .heart1{
            position:absolute;
            left: 50%;
            top:50%;
            margin-left: -150px;
            margin-top: -135px;
            width: 300px;
            height:270px;
            background: transparent;
            animation: test 1s linear 1;
            filter:drop-shadow(0px 0px 4px rgb(255,20,20));
        }
        .heart:before,
        .heart:after{
            content: "";
            position: absolute;
            left: 150px;
            width: 150px;
            height: 240px;
            background: rgb(192,192,192);
            border-radius: 150px 150px 0 0;
            transform:rotate(-45deg);
            transform-origin: 0 100%;
        }
        .heart1:before,.heart1:after{
            content: "";
            position: absolute;
            left: 150px;
            width: 150px;
            height: 240px;
            background: rgb(255,0,0);
            border-radius: 150px 150px 0 0;
            transform:rotate(-45deg);
            transform-origin: 0 100%;
        }
        .heart:after,.heart1:after{
            left: 0;
            transform:rotate(45deg);
            transform-origin: 100% 100%;
        }
        @keyframes test{
            0%{
                transform: scale(0.8,0.8);
                opacity: 1;
            }
            25%{
                transform: scale(1,1);
                opacity: 0.8;
            }
            100%{
                transform: scale(0.8,0.8);
                opacity: 1;
            }
        }
    </style>
</head>
<body>
<div id="heart" class="heart" >

</div>
<div id="heart1" class="heart1" style="display: none;">

</div>
<script>
    document.getElementById("heart").addEventListener("click", function()
    {
        document.getElementById("heart1").style.display = "block";
        this.style.display = "none";
    });
    document.getElementById("heart1").addEventListener("click", function()
    {
        document.getElementById("heart").style.display = "block";
        this.style.display = "none";
    });
</script>
</body>
</html>

 

㈡使用字符集制作点赞效果

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字符集红心点赞</title>
</head>
<style>
    span{color:#999;}
    p{color:#D00;}
    div{
        position: relative;
        width: 500px;
        height: 500px;
    }
    .heart{
        animation: test 1s linear 1;
        filter:drop-shadow(0px 0px 4px rgb(192,192,192));
        width: 500px;
        height: 500px;
        font-size: 200px;
        color:#999;
        position: absolute;
        left: 30px;
        top: 30px;
        cursor: pointer;
    }
    .heart1{
        animation: test 1s linear 1;
        filter:drop-shadow(0px 0px 4px rgb(255,20,20));
        width: 500px;
        height: 500px;
        font-size: 200px;
        color:#D00;
        position: absolute;
        left: 30px;
        top: 30px;
        display: none;
        cursor: pointer;
    }
    @keyframes test{
        0%{
            transform: scale(0.8,0.8);
            opacity: 0.8;
        }
        100%{
            transform: scale(1,1);
            opacity: 1.0;
        }
    }
</style>
<body>
    
    <div>
        <div id="heart" class="heart">
            &hearts;
        </div>
        <div id="heart1" class="heart1">
            &hearts;
        </div>
    </div>

    <script>
        document.getElementById("heart").addEventListener("click", function()
        {
            document.getElementById("heart1").style.display = "block";
            this.style.display = "none";
        });
        document.getElementById("heart1").addEventListener("click", function()
        {
            document.getElementById("heart").style.display = "block";
            this.style.display = "none";
        });
    </script>

    
</body>
</html>

 

微信运动红心点赞效果

上一篇:消息中间件系列三、JMS和activeMQ的简单使用


下一篇:微信公众号素材管理、获取用户信息、自定义菜单