点赞 功能

最近写了一个仿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;"  onclick="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;' onmouseover=\"changeimg1(this);\" onmouseout=\"changeimg2(this);\" onclick=\"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;' onmouseover=\"changeimg1(this);\" onclick=\"zannum(this)\" onmouseout=\"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>

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


阅读更多
文章标签: 前端
上一篇ssm初次整合
想对作者说点什么? 我来说一句

点赞效果及功能代码

2015年01月08日 103KB 下载

jquery动态点赞功能

2017年07月13日 42KB 下载

没有更多推荐了,返回首页

关闭
关闭