(还存在一个问题:当点击支持以后,支持数量会变化,但是一刷新页面又会变回原来的数字,当dedecms后台更新页面缓存以后该处数量显示点击支持后的数量)

模板文件:list_article.htm 注意红色标注位置:
<link href="{dede:global.cfg_templets_skin/}/style/dedecms.css" rel="stylesheet" media="screen" type="text/css" />
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
<script language="javascript" type="text/javascript">
<!--
function postDigg(ftype,aid)
{
var diggItem = "newdigg_" + aid;
var taget_obj = document.getElementById(diggItem);
var diggidItem = "diggid_" + aid;
var saveid = GetCookie(diggidItem);
if(saveid != null)
{
var saveids = saveid.split(',');
var hasid = false;
saveid = '';
j = 1;
for(i=saveids.length-1;i>=0;i--)
{
if(saveids==aid && hasid) continue;
else {
if(saveids==aid && !hasid) hasid = true;
saveid += (saveid=='' ? saveids : ','+saveids);
j++;
if(j==20 && hasid) break;
if(j==19 && !hasid) break;
}
}
if(hasid) { alert("您已经顶过该帖,请不要重复顶帖 !"); return; }
else saveid += ','+aid;
SetCookie(diggidItem,saveid,1);
}
else
{
SetCookie(diggidItem,aid,1);
}
myajax = new DedeAjax(taget_obj,false,false,'','','');
var url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action="+ftype+"&id="+aid;
myajax.SendGet2(url);
}
function getDigg(aid)
{
var diggItem = "newdigg_" + aid;
var taget_obj = document.getElementById(diggItem);
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("{dede:global.cfg_phpurl/}/digg_ajax.php?id="+aid);
DedeXHTTP = null;
}
-->
</script>
{dede:list pagesize='10'}
<li> [field:array runphp='yes']@me = (empty(@me['litpic']) ? "" : "<a [email]href='{@me['arcurl']}'[/email] class='preview'><img [email=src='{@me['litpic']}'/></a]src='{@me['litpic']}'/></a[/email]>");
[/field:array]
[<b>[field:typelink/]</b>] <a href="[field:arcurl/]" class="title">[field:title/]</a> <span class="info"> <small>日期:</small>[field:pubdate function="GetDateTimeMK(@me)"/]
<small>点击:</small>[field:click/] <small>好评:</small>[field:scores/] </span>
<p class="intro"> [field:description/]... </p>
<!--开始顶-->
<div class="viewbox">
<div class="newdigg" id="newdigg_[field:id/]">
<div onclick="javascript:postDigg('good',[field:id/])">
<div class="blue12" style="cursor:hand;">投票 ([field:goodpost/])票</div>
</div>
<!--结束顶-->
</li>
{/dede:list}
具体的 顶样式 要去 plus/digg_ajax.php 里面自己修改一下就可以了
位置:
$digg = '<div class="jpsg_zc" id="newdiggs_'.$id.'" onclick="javascript:postDigg(\'good\','.$id.')">
<a ><img src="/templets/ver1/images/zc.jpg" /></a><strong>'.$row['goodpost'].'</strong>
</div>';
如图样式:

//模板文件:list_article.htm 注意红色标注部分
<link href="{dede:global.cfg_templets_skin/}/style/dedecms.css" rel="stylesheet" media="screen" type="text/css" />
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
<script language="javascript" type="text/javascript">
<!--
function postDigg(ftype,aid)
{
var diggItem = "newdigg_" + aid;
var taget_obj = document.getElementById(diggItem);
var diggidItem = "diggid_" + aid;
var saveid = GetCookie(diggidItem);
if(saveid != null)
{
var saveids = saveid.split(',');
var hasid = false;
saveid = '';
j = 1;
for(i=saveids.length-1;i>=0;i--)
{
if(saveids==aid && hasid) continue;
else {
if(saveids==aid && !hasid) hasid = true;
saveid += (saveid=='' ? saveids : ','+saveids);
j++;
if(j==20 && hasid) break;
if(j==19 && !hasid) break;
}
}
if(hasid) { alert("您已经顶过该帖,请不要重复顶帖 !"); return; }
else saveid += ','+aid;
SetCookie(diggidItem,saveid,1);
}
else
{
SetCookie(diggidItem,aid,1);
}
myajax = new DedeAjax(taget_obj,false,false,'','','');
var url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action="+ftype+"&id="+aid;
myajax.SendGet2(url);
}
function getDigg(aid)
{
var diggItem = "newdigg_" + aid;
var taget_obj = document.getElementById(diggItem);
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("{dede:global.cfg_phpurl/}/digg_ajax.php?id="+aid);
DedeXHTTP = null;
}
-->
</script>
{dede:list pagesize='10'}
<li> [field:array runphp='yes']@me = (empty(@me['litpic']) ? "" : "<a [email]href='{@me['arcurl']}'[/email] class='preview'><img [email=src='{@me['litpic']}'/></a]src='{@me['litpic']}'/></a[/email]>"); [/field:array]
[<b>[field:typelink/]</b>] <a href="[field:arcurl/]" class="title">[field:title/]</a> <span class="info"> <small>日期:</small>[field:pubdate function="GetDateTimeMK(@me)"/] <small>点击:</small>[field:click/] <small>好评:</small>[field:scores/] </span>
<p class="intro"> [field:description/]... </p>
<!--开始顶-->
<div class="viewbox">
<div class="newdigg" id="newdigg_[field:id/]">
<div onclick="javascript:postDigg('good',[field:id/])">
<div class="blue12" style="cursor:hand;">投票 ([field:goodpost/])票</div>
</div>
<!--结束顶-->
</li>
{/dede:list}
//具体的 顶样式 要去 plus/digg_ajax.php 里面自己修改一下就可以了
//修改位置:
$digg = '<div class="jpsg_zc" id="newdiggs_'.$id.'" onclick="javascript:postDigg(\'good\','.$id.')">
<a ><img src="/templets/ver1/images/zc.jpg" /></a><strong>'.$row['goodpost'].'</strong>
</div>';
参考地址:在某论坛看到的 具体地址忘记了
分享到:
相关推荐
在IT行业中,前端开发经常会遇到页面间的交互问题,如数据传递和函数调用。EasyUI是一个基于jQuery的UI框架,提供了丰富的组件,其中包括用于创建弹出窗口(window)的功能。在EasyUI中,我们可能会遇到需要在弹出...
"这个压缩包文件提供了一个用于学习和实践的示例,帮助用户了解如何在LabVIEW中调用CAN接口。 首先,我们需要理解CAN总线的基本概念。CAN总线采用多主站的通信模式,每个设备都可以发起通信,通过仲裁机制避免冲突...
在C#编程中,利用Windows自身的API来实现摄像头拍照和摄像功能是一项常见的需求。Windows API提供了丰富的函数和接口,使得开发者可以直接与硬件设备交互,包括访问内置或外接的摄像头。下面将详细介绍如何通过C#...
调用浏览器打印按钮,实现打印页面功能,可以实现二次开发
在LabVIEW中,SubVIs(子虚拟仪器)是可重用的代码模块,它们封装了特定的功能,可以被其他VI调用。本教程主要探讨的是如何在LabVIEW中静态和动态地调用子VI,以及这两种方法的不同特性。 一、静态调用子VI 静态...
此外,`调用微信功能.txt`文件可能是对如何使用`wxHelper.cs`类的详细说明,包括如何初始化对象,如何调用各个方法,以及可能出现的问题和解决策略。这通常会包含示例代码,帮助开发者快速上手。 总的来说,这个...
总之,"VC++调用大漠插件"是一项涉及到Windows API编程和多线程技术的实践,通过合理地调用和管理大漠插件,可以在VC++应用程序中实现复杂的功能,提升软件的效能。理解并熟练掌握这些知识点,对于Windows平台的软件...
本示例将深入探讨如何在WPF应用中实现Window与Page之间的相互调用,这对于构建复杂的用户界面和导航框架至关重要。 Window在WPF中充当顶级窗口或主窗口的角色,它是一个可以显示内容、拥有标题栏、菜单、边框等特征...
本程序实现了在web页面上,用JAVA的方式,调用扫描仪进行扫描,并上传至远程服务器。并且可以设置扫描范围、扫描精度、以及扫描UI显示等! 该版本在uploadpath参数设置为“http://localhost/xxx.action”,即使用...
通过上述方式,我们可以灵活地在Android Webview中的H5页面和Java代码之间进行通信,实现诸如数据交换、用户交互、原生功能调用等功能,从而提升应用的交互性和用户体验。在实际开发中,需要注意安全性和性能优化,...
大漠插件(DM.DLL)因其强大的功能和灵活性而在这一领域内广受好评。本文将详细介绍如何在Visual C++ 2008环境中正确调用大漠插件,帮助初学者快速入门。 #### 准备工作 1. **安装Visual C++ 2008**:确保你的...
在Android平台上,调用二维码扫描功能是开发移动应用时常用的一种技术。二维码作为一种高效的信息载体,可以存储网址、文本、联系人信息等数据,并通过扫描快速读取。本篇文章将详细讲解如何在Android应用中集成...
在Android开发中,JNI通常用来调用系统的低级功能或库,这些功能可能在Java层无法直接访问。 本文将深入探讨如何使用Qt的JNI功能来调用Android系统的特定功能,如震动、保持屏幕常亮、切换应用的横竖屏模式、调整...
本文将详细讲解如何在C# Winform应用中调用摄像头进行拍照和录制视频,并实现播放控制。 首先,我们需要引入必要的库。在C#中,可以使用`AForge.Video`和`AForge.Video.DirectShow`库来访问和操作摄像头。这两个库...
在现代Web开发中,HTML5、Canvas和jQuery的结合提供了许多强大的功能,其中之一就是能够调用手机摄像头拍照并上传图片。这个技术应用广泛,尤其在移动设备上的网页应用,为用户提供了更直观、便捷的交互体验。下面...
在开发Windows应用程序时,有时需要将复杂的图形处理功能集成到应用中,Matlab因其强大的数学计算和绘图能力,常被作为这样的后端工具。本文将深入探讨如何使用C#调用Matlab来绘制图形,并将这些图形嵌入到Winform...
在本教程中,我们将探讨如何使用Java来实现一个“顶一下”和“踩一下”的功能,这通常在论坛、博客或其他互动性强的网站上用于表达用户对内容的赞同或反对。这种功能涉及到前端与后端的交互,以及数据库操作来记录...
1. **Bartender SDK**:Bartender提供了Software Development Kit (SDK),包含.NET接口,允许开发者直接在C#代码中调用Bartender的功能。首先,需要在项目中引用Bartender的SDK库,通常为Seagull.BarTender.Object....
6. **调试与优化**:进行必要的测试和调试,确保PB能正确调用C# DLL的功能,并根据需要进行优化。 在压缩包文件的“PB调用COM”可能包含示例代码、教程或者已注册的COM组件实例,帮助用户理解如何在PowerBuilder中...
本文将详细讲解如何实现"通用浏览器调用摄像头拍照"的功能,同时兼顾IE(Internet Explorer)和其他非IE浏览器。 一、HTML5的MediaDevices接口 这个功能主要依赖于HTML5的`MediaDevices`接口,它提供了一系列的...