开发者社区> 吞吞吐吐的> 正文

js实现倒计时 类似团购网站

简介:
+关注继续查看

一、demo与效果展示

为节约时间,我就直接套用了企鹅团的界面作为demo的背景。因为是倒计时,所以需要一个固定的时间,为了n年后,某位仁兄打开demo页面依然在倒计时,所以我把倒计时时间设成了2050年7月30日中午12点整,还有40年才到,因为年代较长,所以有必要显示剩余年份与月份。所以,最后demo页面的效果如下图所示:
demo页面关键部位截图 张鑫旭-鑫空间-鑫生活

您可以狠狠地点击这里:团购倒计时demo

 

二、使用

倒计时其实就是Date类的一些计算与处理,主要是些繁琐的工作。为了省掉他人的功夫以及方便后来的使用,我已经将倒计时主要处理方法封装起来了。方法名为:fnTimeCountDown(参数1, 参数2)

具体使用如下,首先,调用倒计时js脚本,您可以在页面的任何位置嵌入这段脚本:

<script type="text/javascript" src="http://www.zhangxinxu.com/study/js/timeCountDown.js"></script>

然后,调用方法fnTimeCountDown(参数1, 参数2)即可,于是就可以实现倒计时效果了,很简单吧。

下面是重点了,就是关于这里的参数。参数1指的是截止的时间。我个人建议使用UTC()方法创建Date对象传递给Date构造函数。例如,Date.UTC(2030, 6, 27, 16, 34),表示的就是2030年7月27日161时34分0秒(月份需要加1),然后将这个参数替换“参数1”就可以了。具体来说就是:

var d = Date.UTC(2030, 6, 27, 16, 34);
fnTimeCountDown(d, 参数2)

关于参数2,有点小复杂。参数2是个对象,同时也是个对象集,是显示秒、分、时数值标签的DOM对象集合,里面的对象名是固定的,不可自己定义,否则没有效果的。考虑到扩展性,对象名从秒一直到年,具体如下:

{
     sec: 显示秒数值的标签对象,
     mini: 显示分钟数值的标签对象,
     hour: 显示小时数值的标签对象,
     day: 显示天数数值的标签对象,
     month: 显示月份数值的标签对象,
     year: 显示年数数值的标签对象
}

以上所有的参数都是可选的,如果哪个参数没有,则不显示时间变化,如果参数对应的DOM对象不存在,自然也没有数值变化的。如果是上面部分展示的团购倒计时的话,只要下面三个子对象就足够了:

{
     sec: 显示秒数值的标签对象,
     mini: 显示分钟数值的标签对象,
     hour: 显示小时数值的标签对象
}

举个例子吧,有三个标签,分别用来显示剩余的小时数,分钟数以及秒数的,其id分别是hour,mini,sec,如下所示:

<span id="hour"></span>时 <span id="mini"></span>分 <span id="sec"></span>秒

则第二个参数应该这么写:

var obj = {
     sec: document.getElementById("sec"),
     mini: document.getElementById("mini"),
     hour: document.getElementById("hour")
}

所以两个参数合起来就是:

var d = Date.UTC(2030, 6, 27, 16, 34);
var obj = {
     sec: document.getElementById("sec"),
     mini: document.getElementById("mini"),
     hour: document.getElementById("hour")
}
fnTimeCountDown(d, obj);

这段实例代码所产生的效果如下所示:
06时 20分 11秒

如果现在还没有到2030年,则您应该可以看到上面秒前面的数值在不停的倒计时。

需要注意的是,参数2的对象集不支持jQuery对象,只能是DOM对象,如果您需要支持jQuery对象,需要修改原js方法中的innerHTML为jQuery的html()或是text()方法。

最后,提供下js脚本的下载,您可以狠狠地点击这里:timeCountDown.js(1.75K, 右键 – [目标|链接]另存为)

三、简短的结语

此脚本只是简单测试了下,且js功力尚浅,难免还存有bug或是不准确之处。如果您发现了,欢迎指正,不甚感谢。也欢迎各种形式的讨论与交流。

转自张鑫旭-鑫空间-鑫生活
原文地址:http://www.zhangxinxu.com/wordpress/?p=987

分类: JAVASCRIPT,Jquery

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/4689375.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
网站介绍web前端 html+css+javascript网页设计
网站介绍web前端 html+css+javascript网页设计
26 0
前端知识学习案例2-开发企业网站2-准备js库 图片等
前端知识学习案例2-开发企业网站2-准备js库 图片等
12 0
网站JavaScript的使用和SEO注意事项
在对SEO优化的研究过程中,有网友向其咨询,关于网站JavaScript的使用和SEO注意事项,今天我们还一起学习。对于JS的SEO来说,SEO非常重要,不管是异步调用内容,还是提高页面交互,JS脚本已经变得难以避免了。但是如果JavaScript使用不当,就会对SEO产生很大影响,而JS导致SEO问题的关键是搜索引擎并不需要执行JS脚本。
41 0
旅游展示网站-前端网页设计技术完整精美源码HTML+CSS+JS
旅游展示网站-前端网页设计技术完整精美源码HTML+CSS+JS
51 0
动漫网站-前端网页技术精美网站源码HTML+CSS+JS
动漫网站-前端网页技术精美网站源码HTML+CSS+JS
54 0
班级网站-前端网页技术精美完整源码HTML+CSS+JS
班级网站-前端网页技术精美完整源码HTML+CSS+JS
65 0
36个精美完整网站网页完整源码HTML+CSS+JS
36个精美完整网站网页完整源码HTML+CSS+JS
86 0
利用f12开发者工具在线调试网站js
利用f12开发者工具在线调试网站js
235 0
网站流量日志埋点收集— 原理实现雏形—如何解决 js 和 html 页面耦合问题|学习笔记
快速学习网站流量日志埋点收集—原理实现雏形—如何解决 js 和 html 页面耦合问题
35 0
网站流量日志埋点收集 —原理实现雏形—如何解决 js 跨域问题(伪装图片)|学习笔记
快速学习网站流量日志埋点收集—原理实现雏形—如何解决 js 跨域问题(伪装图片)
79 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Javascript中的函数
立即下载
Javascript异步编程
立即下载
JS零基础入门教程(上册)
立即下载