Js如何实现收藏功能

用Js实现点击收藏效果,且在原有收藏量基础上增减
思路:点击收藏时设置想要的样式以及数量增1
相反 点击取消收藏 将数量减1

废话不多说,干货如下(具体详解在代码处):
Js 代码实现

var heart = document.getElementsByClassName("icon-xin");
    var span = document.getElementsByClassName("count");
    for(var i = 0 ; i < heart.length ; i++){
        var count;//计数器  总收藏量
        (function(i){
            var flag = true; //点击收藏
            // 点击收藏 【心】 事件
            heart[i].onclick = function(){
                if(flag){ //点击收藏
                    flag = false;
                    // 添加样式
                    this.className = "iconfont icon-xin active";
                    ++span[i].innerHTML;  //点击收藏 在收藏量 基础上 增1
                }else{ //点击取消收藏
                    flag = true;
                    this.className = "iconfont icon-xin";
                    --span[i].innerHTML; //点击取消收藏 在收藏量 基础上 减1
                }    
            }
        })(i); 
    }

CSS:

.icon-xin{
        font-size: 20px;
        color: rgba(0,0,0,0.3);
    }
    .active{
        color: #E1251B;
    }
    .active{
        animation: heart 0.5s linear;
    }
    @keyframes heart{
        from{
            font-size: 20px;
        }
        50%{
            font-size: 18px;
        }
        to{
            font-size: 20px;
        }
    }

Div:

<div class="wraper">
        <i class="iconfont icon-xin"></i><span class="count">50</span>
        <i class="iconfont icon-xin"></i><span class="count">60</span>
        <i class="iconfont icon-xin"></i><span class="count">70</span>
    </div>

效果如上图在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值