热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

模板0102functionpostDigg(ftype,aid)03{04vartaget_objdocument.getElementById(diggNum+aid);050

模板

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

01 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("NI已经顶过该帖,请不要重复顶帖 !");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

{dede:arclist row='6' orderby='id' titlelen='100'}[field:goodpost/] {/dede:arclist}

css

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

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

01

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 = ''.$row['goodpost']; //点击后,如果从没有被赞过,则自动把新的点击次数重写入目标位置.48} 49AjaxHead(); 50echo $digg; 51exit(); 52?>



推荐阅读
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 深入解析Android 4.4中的Fence机制及其应用
    在Android 4.4中,Fence机制是处理缓冲区交换和同步问题的关键技术。该机制广泛应用于生产者-消费者模式中,确保了不同组件之间高效、安全的数据传输。通过深入解析Fence机制的工作原理和应用场景,本文探讨了其在系统性能优化和资源管理中的重要作用。 ... [详细]
  • 本文深入探讨了Ajax的工作机制及其在现代Web开发中的应用。Ajax作为一种异步通信技术,改变了传统的客户端与服务器直接交互的模式。通过引入Ajax,客户端与服务器之间的通信变得更加高效和灵活。文章详细分析了Ajax的核心原理,包括XMLHttpRequest对象的使用、数据传输格式(如JSON和XML)以及事件处理机制。此外,还介绍了Ajax在提升用户体验、实现动态页面更新等方面的具体应用,并讨论了其在当前Web开发中的重要性和未来发展趋势。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
author-avatar
用户0h2eqqbg44
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有