织梦列表页,支持顶(赞)和踩的功能,顶过后标红高亮显示

模板

<script language="javascript" type="text/javascript"> function postDigg(ftype,aid) { var taget_obj = document.getElementById('diggNum'+aid); var saveid = GetCookie('diggid'); //我所有赞过的文章id //alert(saveid); if(saveid != null) { var saveids = saveid.split(','); var hasid = false; saveid = ''; j = 1; for(i=saveids.length-1;i>=0;i--) { if(saveids[i]==aid && hasid) continue; //我顶过 else { if(saveids[i]==aid && !hasid) hasid = true; saveid += (saveid=='' ? saveids[i] : ','+saveids[i]); j++; if(j==20 && hasid) break; if(j==19 && !hasid) break; } } if(hasid) { //alert("您已经顶过该帖,请不要重复顶帖 !"); //如果点击后,被赞过.则不需要更新统计,直接改变颜色 $('#digg'+aid).addClass("icon-heart-on"); return; } else saveid += ','+aid; SetCookie('diggid',saveid,1); } else { //如果cookie中无记录,则记录 SetCookie('diggid',aid,1); } myajax = new DedeAjax(taget_obj,false,false,'','',''); var url = "{dede:global.cfg_phpurl/}/digg_ajax_list.php?action="+ftype+"&id="+aid; myajax.SendGet2(url); DedeXHTTP = null; } </script>  

{dede:arclist row='6' orderby='id' titlelen='100'} <span id="diggNum[field:id/]">&nbsp;<a href="javascript:"class=" text-bbb text-16" onclick="javascript:postDigg('good',[field:id/])"><span id="digg[field:id/]" class="icon-heart2 ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;</a>[field:goodpost/] </span> {/dede:arclist}  

css

.icon-heart2{ background: url(../images/bg-main.png) -22px 5px no-repeat; } .icon-heart2:hover{ background: url(../images/bg-main.png) 2px 4px no-repeat; } .icon-heart-on{ background: url(../images/bg-main.png) 2px 4px no-repeat; }  

然后在,plus中新建立一个digg_ajax_list.PHP文件,内容为
 

<?php require_once(dirname(__FILE__)."/../include/common.inc.php"); $action = isset($action) ? trim($action) : ''; $id = empty($id)? 0 : intval(preg_replace("/[^\d]/",'', $id)); if($id < 1) { exit(); } $maintable = 'archives'; if($action == 'good') { $dsql->ExecuteNoneQuery("Update `$maintable` set scores = scores + {$cfg_caicai_add},goodpost=goodpost+1,lastpost=".time()." where id='$id'"); } else if($action=='bad') { $dsql->ExecuteNoneQuery("Update `$maintable` set scores = scores - {$cfg_caicai_sub},badpost=badpost+1,lastpost=".time()." where id='$id'"); } $digg = ''; $row = $dsql->GetOne("Select goodpost,badpost,scores From `$maintable` where id='$id' "); if(!is_array($row)) { exit(); } if($row['goodpost']+$row['badpost'] == 0) { $row['goodper'] = $row['badper'] = 0; } else { $row['goodper'] = number_format($row['goodpost']/($row['goodpost']+$row['badpost']),3)*100; $row['badper'] = 100-$row['goodper']; } if(empty($formurl)) $formurl = ''; if($formurl=='caicai') { if($action == 'good') $digg = $row['goodpost']; if($action == 'bad') $digg = $row['badpost']; } else { $row['goodper'] = trim(sprintf("%4.2f", $row['goodper'])); $row['badper'] = trim(sprintf("%4.2f", $row['badper'])); $digg = '<a class=" text-bbb text-16"href="javascript:" onclick="javascript:postDigg(\'good\','.$id.')"><span =id="digg'.$id.'"class="icon-heart-on">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;</a>'.$row['goodpost']; //点击后,如果从没有被赞过,则自动把新的点击次数重写入目标位置. } AjaxHead(); echo $digg; exit(); ?>  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7f7bf313020974338b23058cc719ee71.html