红心点赞按钮怎么做

 我来答
静若拂尘
2016-05-02 · TA获得超过8736个赞
知道大有可为答主
回答量:5745
采纳率:75%
帮助的人:1051万
展开全部
需要学习JavaScript语言和HTML语言

使用方法

HTML结构

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

<div class="feed" id="feed1">

<p>jQuery之家 <a href="http://www.htmleaf.com/">http://www.htmleaf.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>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式