文档章节

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

越野小生
 越野小生
发布于 2016/06/14 23:15
字数 491
阅读 31
收藏 0
点赞 0
评论 0

效果截图

模板

<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();   
?>  

 

© 著作权归作者所有

共有 人打赏支持
越野小生
粉丝 3
博文 113
码字总数 32174
作品 0
杨浦
一刀/simpleblog

Django1.7开发一个简单的博客系统 三个分支: master: 主分支 py27: 基于python2.7.8版本的分支 py34: 基于python3.4.2版本的分支 教程地址: http://my.oschina.net/yidao620c/blog/343...

一刀 ⋅ 2015/01/05 ⋅ 0

EverVim 20170803 新增键位导航和多项优化

EverVim 20170803已发布。 版本发布仅为公布更新日志,安装时请仍使用 master 分支 EverVim IRC 聊天频道(freenode): #EverVim IRC 主要用于解决问题,发布更新日志和使用交流。Bug反馈请到G...

LER0ever ⋅ 2017/08/03 ⋅ 10

简易博客系统--SimpleBlog

笔者用过django一段时间了,是时候写点东西了。不过官网文档稍微有点复杂,对新手而言很困难,而网上的一些教程很多都过时了,最近看到一个外文的教程非常不错,基于最新的django1.9写的,通...

一刀 ⋅ 2015/01/04 ⋅ 0

朋也社区 v2.4.1更新,增加上传个人头像

更新内容: 去掉对java-utils和lombok的依赖 增加ehcache的缓存支持 增加上传个人头像 配置文件合并到application.yml里 将 @RequestMapper 注解 换成 @GetMapper @PostMapper 两个注解 格式...

朋也 ⋅ 2017/02/15 ⋅ 9

文章投票系统

2个按钮, 一个 顶 一个踩。用户点击 顶/踩后显示平均结果。结果显示用一个横排5个五角星, 大家说下思路和平均函数的构造,谢谢!

enjoylife ⋅ 2011/04/12 ⋅ 1

开源中国讨论区小改版上线,求别喷得太狠

但凡每次改版都会引来骂声一片,尽管红薯我脸皮很厚,但身子骨单薄,架不住轮番轰炸。所以今天上线的讨论区小改版,还请大家骂的时候温柔点。 我这给您鞠躬嘞。 怎么样,原本我一直持 安能摧...

红薯 ⋅ 2014/02/26 ⋅ 108

SEO优化中的div+css命名规则

SEO(搜索引擎优化)有很多工作要做,其中对代码的优化是一个很关键的步骤。为了更加符合SEO的规范,下面中部IT网将对目前流行的CSS+DIV的命名规则整理如下: 页头:header 登录条:loginBar 标志...

断舍离 ⋅ 2014/05/11 ⋅ 0

对SEO优化有一定作用的DIV+CSS命名规则

SEO(搜索引擎优化)有很多工作要做,其中对代码的优化是一个很关键的步骤。为了更加符合SEO的规范,下面中部IT网将对目前流行的CSS+DIV的命名规则整理如下: 页头:header 登录条:loginBar 标志...

Minho ⋅ 2012/03/06 ⋅ 0

使用Django1.7开发博客 - 目录汇总贴

笔者用过django一段时间了,是时候做点笔记了。不过官网文档稍微有点复杂,对新手而言很困难,而网上的一些教程很多都过时了,最近看到一个外文的教程非常不错,基于最新的django1.7写的,通...

一刀 ⋅ 2014/11/20 ⋅ 10

国产 Java 开源 CMS 系统 JEECMS v6 版发布

JEECMSv6是一款支持栏目模型、内容模型交叉自定义的CMS: 对于不懂技术的用户来说,只要通过后台的简单设置即可自定义出集新闻管理、图库管理、视频管理、下载系统、文库管理、政务公开、作品...

jeecms ⋅ 2014/09/10 ⋅ 25

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 29分钟前 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

vim编辑模式、vim命令模式、vim实践

vim编辑模式 编辑模式用来输入或修改文本内容,编辑模式除了Esc外其他键几乎都是输入 如何进入编辑模式 一般模式输入以下按键,均可进入编辑模式,左下角提示 insert(中文为插入) 字样 i ...

蛋黄Yolks ⋅ 昨天 ⋅ 0

大数据入门基础:SSH介绍

什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码...

董黎明 ⋅ 昨天 ⋅ 0

web3j教程

web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 汇智网最新发布的web3j教程,详细讲解...

汇智网教程 ⋅ 昨天 ⋅ 0

谷歌:安全问题机制并不如你想象中安全

腾讯科技讯 5月25日,如今的你或许已经对许多网站所使用的“安全问题机制”习以为常了,但你真的认为包括“你第一个宠物的名字是什么?”这些问题能够保障你的帐户安全吗? 根据谷歌(微博)安...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部