基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)


Posted in Javascript onNovember 24, 2015

废话不多说了,先给大家展示下效果图,感兴趣的朋友继续往下看 哦

基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)

查看演示       源码下载

HTML

和上一篇文章:使用jQuery和CSS3制作数字时钟(CSS3篇)一样的HTML结构,只是多了个>date用来展示日期和星期的。

<div id="clock" class="light"> 
 <div class="display"> 
  <div class="date"></div> 
  <div class="digits"></div> 
 </div> 
</div>

jQuery

CSS代码请参照上一篇文章,本文不再??拢?苯涌?Query代码。

首先我们定义参数,定义用来调用数字的class名称数组,定义中文星期名称,定义时分秒的位置。

$(function(){ 
 var clock = $('#clock'); 
 //定义数字数组0-9 
 var digit_to_name = ['zero','one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']; 
 //定义星期 
 var weekday = ['周日','周一','周二','周三','周四','周五','周六']; 
 var digits = {}; 
 //定义时分秒位置 
 var positions = [ 
  'h1', 'h2', ':', 'm1', 'm2', ':', 's1', 's2' 
 ]; 
});

然后构建数字时钟的时分秒。在上一篇文章中我们是直接在html中放置了数字时钟的html结构,而现在我们使用jQuery来处理时钟的展示,通过append()方法来构建数字时钟。

var digit_holder = clock.find('.digits'); 
 $.each(positions, function(){ 
  if(this == ':'){ 
   digit_holder.append('<div class="dots">'); 
  } 
  else{ 
   var pos = $('<div>'); 
   for(var i=1; i<8; i++){ 
    pos.append('<span class="d' + i + '">'); 
   } 
   digits[this] = pos; 
   digit_holder.append(pos); 
  } 
 });

最后,我们要让时钟跑起来。每秒钟调用一次update_time()函数,在update_time()中,我们先用moment.js来格式化时间,关于moment.js的介绍请参照本站文章:使用moment.js轻松管理日期和时间。然后根据当前时分秒,分别设置时分秒数字的class属性,即显示当前时分秒数字。接着继续使用moment.js来格式化日期和星期,最终完成了会走动的数字时钟,请看下面代码:

$(function(){ 
 ... 
 (function update_time(){ 
  //调用moment.js来格式化时间 
  var now = moment().format("HHmmss"); 
  digits.h1.attr('class', digit_to_name[now[0]]); 
  digits.h2.attr('class', digit_to_name[now[1]]); 
  digits.m1.attr('class', digit_to_name[now[2]]); 
  digits.m2.attr('class', digit_to_name[now[3]]); 
  digits.s1.attr('class', digit_to_name[now[4]]); 
  digits.s2.attr('class', digit_to_name[now[5]]); 
  var date = moment().format("YYYY年MM月DD日"); 
  var week = weekday[moment().format('d')]; 
  $(".date").html(date + ' ' + week); 
  // 每秒钟运行一次 
  setTimeout(update_time, 1000); 
 })(); 
});
Javascript 相关文章推荐
checkbox 复选框不能为空
Jul 11 Javascript
Javascript倒计时页面跳转实例小结
Sep 11 Javascript
js onload事件不起作用示例分析
Oct 09 Javascript
怎么选择Javascript框架(Javascript Framework)
Nov 22 Javascript
js document.write()使用介绍
Feb 21 Javascript
浅析JQuery中的html(),text(),val()区别
Sep 01 Javascript
JavaScript6 let 新语法优势介绍
Jul 15 Javascript
D3.js实现直方图的方法详解
Sep 25 Javascript
Node.js使用MySQL连接池的方法实例
Feb 11 Javascript
让你5分钟掌握9个JavaScript小技巧
Jun 09 Javascript
Node.js npm命令运行node.js脚本的方法
Oct 10 Javascript
在Vue项目中使用Typescript的实现
Dec 19 Javascript
基于jquery实现简单的手风琴特效
Nov 24 #Javascript
jQuery插件实现无缝滚动特效
Nov 24 #Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
Nov 24 #Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
Nov 24 #Javascript
javascript实现加载xml文件的方法
Nov 24 #Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
Nov 24 #Javascript
JavaScript转换与解析JSON方法实例详解
Nov 24 #Javascript
You might like
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
Django实现分页显示效果
2019/10/31 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
大型主题婚礼活动策划方案
2014/09/15 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
小学语文复习计划
2015/01/19 职场文书
教师聘用意向书
2015/05/11 职场文书
道歉的话语大全
2015/05/12 职场文书