基于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 相关文章推荐
一段效率很高的for循环语句使用方法
Aug 13 Javascript
Javascript和Java获取各种form表单信息的简单实例
Feb 14 Javascript
22点关于jquery性能优化的建议
May 28 Javascript
jquery对象和javascript对象即DOM对象相互转换
Aug 07 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
Mar 26 Javascript
实例详解jQuery结合GridView控件的使用方法
Jan 04 Javascript
使用jQuery监听DOM元素大小变化
Feb 24 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
May 05 Javascript
JavaScript实现HTML5游戏断线自动重连的方法
Sep 18 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
Dec 31 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
php curl选项列表(超详细)
2013/07/01 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
2016/07/18 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python经典趣味24点游戏程序设计
2019/07/26 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
露营世界:Camping World
2017/02/02 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
求职简历自荐信
2014/06/18 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书