html实现点赞动画效果代码,Twitter“点赞”红心按钮CSS3动画特效

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

使用方法

HTML结构

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

jQuery之家 http://www.htmleaf.com/

24

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。

$(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

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值