使用JavaScript制作一个简单的计数器的方法


Posted in Javascript onJuly 07, 2015

设计思想

该方法的关键是Cookie技术和动态图像特性的综合运用。使用Cookie,可以在用户端的硬盘上记录用户的数据,下次访问此站点时,即可读取用户端硬盘的Cookie,直接得知来访者的身份和访问次数等有关信息。JavaScript中通过document.cookie属性访问Cookie,这个属性包括名字、失效日期、有效域名、有效URL路径等。用等号分开的名字和其值是Cookie的实际数据,本例中用来存储该访问者访问该页面的次数。通过把Web页中的图像映射到一个Images数组,一定条件下修改该数组项的特性,可以实现动态图像显示。本例中,首先预载入一组图像,每次调用该Web页时,随机产生新的一组图像,通过覆盖原图像实现动态的趣味性效果。

 

源程序count.html

 < html>

< head>


< meta http-equiv=″Content-Type″


content=″text/html; charset=gb2312″>


< title>趣味计数器< /title>


< /head>


< body>


< p>< script language=″JavaScript″>


var expdays=60;


var exp=new Date();


exp.setTime(exp.getTime()


(expdays*24*60*60*1000));


function count(info){


//若是该访客的第一次访问,将计数器值赋1,否则加1累积


var wwhcount=getcookie(′wwhcount′);


if (wwhcount==null){


wwhcount=1;


}


else{wwhcount++;}


setcookie(′wwhcount′,wwhcount,exp);


return countdisp(wwhcount)


}


function countdisp(countvar){


//实现随机显示,不足6位以0补全,可以自己调整显示位数


var countvar1=″000000″+countvar;


var howFar1=countvar1.length;


countvar1=countvar1.substring(howFar1, howFar1-1)


var index=″ ″+Math.floor(Math.random()*10);


if (index==″10″){


index=″0″};


for (var icount=0;icount< 6;icount++){


var g=countvar1.substring(icount,icount+1);


document.images[icount].src=″http:


//localhost/images/″+index+g+″.gif″;


}


}


function getCookieVal(offset){


//获取该访问者的已访问次数


var endstr=document.cookie.indexOf(″;″,offset);


if (endstr==-1)


endstr=document.cookie.length;


return unescape(document.cookie.substring(offset,endstr));


}


function getcookie(name){


//截取Cookie中的name信息段


var arg=name+″=″;


var alen=arg.length;


var clen=document.cookie.length;


var i=0;


while (i< clen){


var j=i+alen;


if (document.cookie.substring(i,j)==arg)


return getCookieVal(j);


i=document.cookie.indexOf(″ ″,i)+1;


if (i==0) break;}


return null;


}


function setcookie(name,value){


//存储该访客计数器的数值


var argv=setcookie.arguments;


var argc=setcookie.arguments.length;


var expires=(argc>2)?argv[2]:null;var path=(argc>3)?argv[3]:null;


var domain=(argc>4)?argv[4]:null;


var secure=(argc〉5)?argv[5]:false;


document.cookie=name+″=″+escape(value)


+((expires==null)?″ ″:(″;expires=″+expires.toGMTString()))


+((path==null)?″ ″:(″;path=″+path))+((domain==null)?″


″:(″;domain=″+domain))+((secure==true)?″;secure″:″ ″);


}


function deletecookie(name){


//使该信息行失效,删除该用户关于访问次数的信息


var exp=new Date();


exp.setTime(exp.getTime()-1);


var cval=getcookie(name);


document.cookie=name+″=″+cval+″;expires=″+exp.toGMTString();


}


< /script>< /p>


< ! --预载入图像数组-->


您是第 < img src=″http://localhost/images/00.gif″ height=20 width=20>


< img src=″http://localhost/images/00.gif″


height=20 width=20>


< img src=″http://localhost/images/00.gif″


height=20 width=20>


< img src=″http://localhost/images/00.gif″


height=20 width=20>


< I mg src=″http://localhost/images/00.gif″


height=20 width=20>


< img src=″http://localhost/images/00.gif″


height=20 width=20>次光临!


< script language=″JavaScript″>


//调用count()函数,实现计数器的动态图像显示


count();


< /script>


< /body>


< /html>

注意事项

由于使用了JavaScript语言,因此该方法具有与应用平台的无关性,可以适用于Unix、Windows等多种平台。另外,此计数器不同于一般意义上的访客计数器,专门用于记录某一访客对某一网站的访问次数。

Javascript 相关文章推荐
为调试JavaScript添加输出窗口的代码
Feb 07 Javascript
JavaScript实现更改网页背景与字体颜色的方法
Feb 02 Javascript
Jquery对select的增、删、改、查操作
Feb 06 Javascript
ECMAScript6新增值比较函数Object.is
Jun 12 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
Nov 17 Javascript
原生js实现数字字母混合验证码的简单实例
Dec 10 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
JS中如何实现复选框全选功能
Dec 19 Javascript
ES6中字符串string常用的新增方法小结
Nov 07 Javascript
浅析Vue 和微信小程序的区别、比较
Aug 03 Javascript
JS获取动态添加元素的方法详解
Jul 31 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
Oct 14 Javascript
JavaScript编写推箱子游戏
Jul 07 #Javascript
使用JavaScript实现连续滚动字幕效果的方法
Jul 07 #Javascript
理解JavaScript的变量的入门教程
Jul 07 #Javascript
Javascript编写俄罗斯方块思路及实例
Jul 07 #Javascript
javascript实现控制div颜色
Jul 07 #Javascript
浅谈JavaScript中的字符编码转换问题
Jul 07 #Javascript
JavaScript中判断两个字符串是否相等的方法
Jul 07 #Javascript
You might like
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
用javascript作一个通用向导说明
2011/08/30 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
vue实现按钮切换图片
2021/01/20 Vue.js
python中Flask框架简单入门实例
2015/03/21 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
Python列表元素常见操作简单示例
2019/10/25 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
推荐信怎么写
2014/05/09 职场文书
教室布置标语
2014/06/26 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
倡议书格式及范文
2015/04/29 职场文书
python数字类型和占位符详情
2022/03/13 Python
基于Python实现nc批量转tif格式
2022/08/14 Python