点赞 功能

最近写了一个仿QQ空间的项目  涉及到说说 就利用前端的JQuery实现了点赞

jsp的代码

<c:if test="${!empty feel }">
			<c:forEach items="${feel}" var="feel" varStatus="status">
				<div class='msgBox'>
					<dl>
						<dt>
							<img src="static/headpic/${feel.uid.headpic }"
								alt="${feel.uid.username }" height="50" width="50">
						</dt>
						<dd>
							${feel.uid.username } <span style="font-size: 7px;">${feel.time }</span>
							<c:if test="${user.id==feel.uid.id }">
								<a style="text-decoration: none"
									href="<%=path %>/deleteFeel?feelid=${feel.id}<%-- &userid=${feel.user.userid }¤tPage=${pager.pageNum } --%>">
									<span style="font-size: 7px;"  οnclick="return operaconfirm('删除');">            删除</span>
								</a>
							</c:if>
						</dd>
					</dl>
					<div class='msgTxt'>
						${feel.context }<br><!-- 放图片 -->
<%-- 						<c:if test="${!empty feel.pic}"> --%>
<%-- 							<img src="static/img/${feel.pic }" height="50" width="70"> --%>
<%-- 						</c:if> --%>
					</div>
					<div align="right"  id="${feel.id }">
					</div>
					<script type="text/javascript">
							var zan = "${feel.zan}";
							var zz=zan.split(";");
							var zan='static;img;zan.png';
							var yizan='static;img;yizan.png';
							for(var i=0;i<zz.length-1;i++){
								if(zz[i]=="${user.id}"){ //如果赞的用户里有当前用户 就显示已赞     //当做标识符来用,区分是否已点赞  //鼠标移上去出现小手指  //鼠标移动上去如果为点赞就换换背景图 //鼠标移走如果还没点赞换背景图 //触发点赞 修改数据库赞的用户         //点赞的总人数 数据库放的是1;2;3;     
									$("#"+"${feel.id }").append("<img src='static/img/yizan.png' alt='1' id='${feel.id}' style='cursor:pointer;' οnmοuseοver=\"changeimg1(this);\" οnmοuseοut=\"changeimg2(this);\" οnclick=\"zannum(this)\" >(<font class='${feel.id }'>"+(zz.length-1)+"</font>)         <img src='static/img/take.png'>       <img src='static/img/zf.png'>");
									break;
									}
								else{
									if(i==zz.length-2){
										$("#"+"${feel.id }").append("<img src='static/img/zan.png' alt='0' id='${feel.id}'  style='cursor:pointer;' οnmοuseοver=\"changeimg1(this);\" οnclick=\"zannum(this)\" οnmοuseοut=\"changeimg2(this);\" >(<font class='${feel.id }'>"+(zz.length-1)+"</font>)         <img src='static/img/take.png'>       <img src='static/img/zf.png'>");
										}
									}
							}
						</script>
				</div>
				<input type="hidden" value="${feel.zan }" name="${feel.id }">//隐藏用来储存zan的用户数据
			</c:forEach>
		</c:if>

script中使用的方法

<script type="text/javascript">
	var za;
	function changeimg1(obj) {
		if(obj.alt=="0"){
			obj.src="static/img/yizan.png";
			}
	}
	function changeimg2(obj) {
		if(obj.alt=="0"){
			obj.src="static/img/zan.png";
			}
	}
	function zannum(obj) {
		if(obj.alt=="0"){
				obj.src="static/img/yizan.png";
				obj.alt=1;
				za=$("input[name='"+obj.id+"']").val()+"${user.id};";
				$("."+obj.id).html($("."+obj.id).html()*1+1);
		}else{
			obj.src="static/img/zan.png";
			obj.alt=0;
			za=($("input[name='"+obj.id+"']").val()).replace("${user.id};","");
			$("."+obj.id).html($("."+obj.id).html()*1-1);
			}
 		$.ajax({
 			type : "POST",
 			contentType : 'application/json',
 			url : 'updatazan',
 			data:JSON.stringify({"zan":za,"id":obj.id}),
 			});
		
	}
	</script>

嗯 本来鼠标移上去和移下来是一个方法 但是后面涉及到一些东西 逻辑太乱 就分开了 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值