基于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 相关文章推荐
语义化 H1 标签
Jan 14 Javascript
JS 自定义带默认值的函数
Jul 21 Javascript
Javascript模块化编程详解
Dec 01 Javascript
JavaScript引用类型和基本类型详解
Jan 06 Javascript
Angularjs中的ui-bootstrap的使用教程
Feb 19 Javascript
vue.js移动端tab组件的封装实践实例
Jun 30 Javascript
Vue resource中的GET与POST请求的实例代码
Jul 21 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
Oct 07 Javascript
JS实现二维数组元素的排列组合运算简单示例
Jan 28 Javascript
Vue运用transition实现过渡动画
May 06 Javascript
p5.js绘制创意自画像
Nov 04 Javascript
webpack 最佳配置指北(推荐)
Jan 07 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
PHP form 表单传参明细研究
2009/07/17 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
2018/01/08 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
ipad上运行python的方法步骤
2019/10/12 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
编辑找工作求职信范文
2013/12/16 职场文书
采购经理岗位职责
2014/02/16 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
世界红十字日活动总结
2015/02/10 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
浅谈python数据类型及其操作
2021/05/25 Python