欢迎投稿

菜鸟之家

当前位置:菜鸟之家 > css3库 > CSS3 animation > Twitter“点赞”红心按钮CSS3动画特效

Twitter“点赞”红心按钮CSS3动画特效

Twitter“点赞”红心按钮CSS3动画特效

关键词:按钮,点赞,点赞按钮,点赞动画,css3,红心,红心按钮,css帧动画,css3库,css3animation

描述:这是一款效果非常炫酷的仿Twitter“点赞”红心按钮CSS3动画特效。该“点赞”特效使用一颗心形按钮,在用户点击心形按钮的时候,心形按钮由灰色变为红色,同时会在心形按钮的四周产生类似烟花爆炸的效果。

简要教程

这是一款效果非常炫酷的仿Twitter“点赞”红心按钮CSS3动画特效。该“点赞”特效使用一颗心形按钮,在用户点击心形按钮的时候,心形按钮由灰色变为红色,同时会在心形按钮的四周产生类似烟花爆炸的效果。

使用方法

HTML结构

该“点赞”红心按钮的HTML结构是将心形按钮放在一个超链接的后面或下面,它的HTML结果如下:

<div class="feed" id="feed1">
  <p>jQuery之家 <a href="http://www.jeeok.com/">http://www.jeeok.com/</a></p>
  <div class="heart" id="like3" rel="like"></div>
  <div class="likeCount" id="likeCount3">24</div>
</div>                
              
CSS样式

整个“点赞”烟花爆炸效果实际上是使用背景图片的连续播放来完成的,它使用一张很长的雪碧(Sprite)图片,然后在点击红心按钮是逐帧进行播放。下面是开始时显示第一帧的CSS样式:

.heart {
  background: url(images/web_heart_animation.png);
  background-position: left;
  background-repeat: no-repeat;
  height: 50px;
  width: 50px;
  cursor: pointer;
  position: absolute;
  left:-14px;
  background-size:1450px; //实际背景图片尺寸2900px
}
.heart:hover{
  background-position: right; //显示最后一个红心帧
}
.likeCount{
  margin-top: 13px;
  margin-left: 28px;
  font-size: 16px;
  color: #999999
}               
              

下面的代码是逐帧播放红心背景图片,它使用CSS3 keyframe帧动画来完成。

@-webkit-keyframes heartBlast {
  0% {background-position: left;}
  100% {background-position: right;}
}

@keyframes heartBlast {
  0% {background-position: left;}
  100% {background-position: right;}
}

.heartAnimation {
  -webkit-animation-name: heartBlast; //webkit内核浏览器
  animation-name: heartBlast;
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: steps(28); //共28个背景图片帧
  animation-timing-function: steps(28);
  background-position: right;
}                
              
JavaScript

在这个“点赞”红心动画特效中使用jQuery代码来使红心按钮在点击时与相应的总点赞数量进行联动。你可以通过ajax来进行数据库操作。当用户点赞时,总数量加1,取消点赞时,总数量减1。

<script>
$(document).ready(function(){
  $("body").on("click",".heart",function(){
    var A=$(this).attr("id");
    var B=A.split("like"); //splitting like1 to 1
    var messageID=B[1];
    $(this).css("background-position","")
    var D=$(this).attr("rel");

    $.ajax({
      type: "POST",
      url: "message_like_ajax.php",
      data: dataString,
      cache: false,
      success: function(data){
      $("#likeCount"+messageID).html(data);
      if(D === "like") {
        $(this).addClass("heartAnimation").attr("rel","unlike"); //applying animation class
      }
      else{
        $(this).removeClass("heartAnimation").attr("rel","like");
        $(this).css("background-position","left");
      }
    }); //ajax end

  });//heart click end

});
</script>                
              

说明:菜鸟之家所有素材均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系QQ:11809283或发送邮件至11809283@qq.com。

菜鸟之家承诺:本站所有资源,无需注册,免费下载,无病毒,无弹窗,无干扰链接!

转载请注明出处!本文地址:http://www.jeeok.com/css3_css3animation/7911.html

 在线演示  免费下载
编号:201802080000007911
大小:0.05MB
上传时间:2018-02-12 13:02
素材由用户"594kongkong"上传分享。

标签

最新推荐素材

与Twitter“点赞”红心按钮CSS3动画特效相关的素材

.