模板01<script language="javascript" type="text/javascript"> 02function postDigg(ftype,aid) 03{04 var taget_obj = document.getElementById('diggNum'+aid); 05 06 var saveid = GetCookie('diggid'); //我所有赞过的文章id07 //alert(saveid);08 if(saveid != null) 09 {10 var saveids = saveid.split(','); 11 var hasid = false; 12 saveid = ''; 13 j = 1; 14 for(i=saveids.length-1;i>=0;i--) 15 {16 if(saveids[i]==aid && hasid) continue; //我顶过 17 else { 18 if(saveids[i]==aid && !hasid) hasid = true; 19 saveid += (saveid=='' ? saveids[i] : ','+saveids[i]); 20 j++; 21 if(j==20 && hasid) break; 22 if(j==19 && !hasid) break; 23 } 24 } 25 if(hasid) {26 //alert("您已经顶过该帖,请不要重复顶帖 !");27 //如果点击后,被赞过.则不需要更新统计,直接改变颜色28 $('#digg'+aid).addClass("icon-heart-on");29 return;30 } 31 else saveid += ','+aid; 32 SetCookie('diggid',saveid,1); 33 34 } 35 else 36 { //如果cookie中无记录,则记录37 SetCookie('diggid',aid,1);38 39 } 40 myajax = new DedeAjax(taget_obj,false,false,'','',''); 41 var url = "{dede:global.cfg_phpurl/}/digg_ajax_list.php?action="+ftype+"&id="+aid; 42 myajax.SendGet2(url);43 44 DedeXHTTP = null; 45} 46 47</script>
{dede:arclist row='6' orderby='id' titlelen='100'}<span id="diggNum[field:id/]"><a href="javascript:"class=" text-bbb text-16" onclick="javascript:postDigg('good',[field:id/])"><span id="digg[field:id/]" class="icon-heart2 "></span></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文件,内容为01<?php 02 03require_once(dirname(__FILE__)."/../include/common.inc.php"); 04 05$action = isset($action) ? trim($action) : ''; 06$id = empty($id)? 0 : intval(preg_replace("/[^d]/",'', $id)); 07 08if($id < 1) 09{ 10 exit(); 11} 12$maintable = 'archives'; 13if($action == 'good') 14{ 15 $dsql->ExecuteNoneQuery("Update `$maintable` set scores = scores + {$cfg_caicai_add},goodpost=goodpost+1,lastpost=".time()." where id='$id'"); 16} 17else if($action=='bad') 18{ 19 $dsql->ExecuteNoneQuery("Update `$maintable` set scores = scores - {$cfg_caicai_sub},badpost=badpost+1,lastpost=".time()." where id='$id'"); 20} 21$digg = ''; 22$row = $dsql->GetOne("Select goodpost,badpost,scores From `$maintable` where id='$id' "); 23if(!is_array($row)) 24{ 25 exit(); 26} 27if($row['goodpost']+$row['badpost'] == 0) 28{ 29 $row['goodper'] = $row['badper'] = 0; 30} 31else 32{ 33 $row['goodper'] = number_format($row['goodpost']/($row['goodpost']+$row['badpost']),3)*100; 34 $row['badper'] = 100-$row['goodper']; 35} 36 37if(empty($formurl)) $formurl = ''; 38if($formurl=='caicai') 39{ 40 if($action == 'good') $digg = $row['goodpost']; 41 if($action == 'bad') $digg = $row['badpost']; 42} 43else 44{ 45 $row['goodper'] = trim(sprintf("%4.2f", $row['goodper'])); 46 $row['badper'] = trim(sprintf("%4.2f", $row['badper'])); 47 $digg = '<a class=" text-bbb text-16"href="javascript:" onclick="javascript:postDigg('good','.$id.')"><span =id="digg'.$id.'"class="icon-heart-on"> </span> </a>'.$row['goodpost']; //点击后,如果从没有被赞过,则自动把新的点击次数重写入目标位置.48} 49AjaxHead(); 50echo $digg; 51exit(); 52?>