文章或者观点说说等点赞功能实现(thinkphp)
前端的代码:
<div class='btm'><a class='zan' id="{$vo.id}" href="javascript:void(0);">赞(<span>{$vo.count}</span>)</a></div>
当然数据的处理用ajax,不过先要引入jquery和jquery.cookie.js,这个就自行百度下载吧。前端会用cookie来限制重复点赞的效果。
js部分:
$(".zan").live('click',function(){
var Oa=$(this);
var id=Oa.attr('id');//获取id属性
var vl=Oa.find("span").text();
vl=parseInt(vl)+1;
if(!$.cookie(id)){
$.post('{:U("Index/zan")}',{id:id},function(data){
if(data.status==1){
alert('点赞+1');//模拟异步数据加1
$.cookie(id,id);//改变flag初始值,确保函数只执行一次
Oa.find("span").text(vl);//页面元素加1
}
},'json');
}else{
alert('您已经点过赞了!');
}
return false;
})
后端接收数据:IndexController.class.php
public function zan(){ $data['id']=isset($_POST['id'])?intval(trim($_POST['id'])):0; $db=M('article'); $res = $db->where($data)->setInc('zan'); if($res){ $this->ajaxReturn($data,'ok',1); exit(); }else{ $this->ajaxReturn($data,'fail',0); exit(); } }
done!

浙公网安备 33010602011771号