基于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 相关文章推荐
JavaScript入门教程(12) js对象化编程
Jan 31 Javascript
js函数setTimeout延迟执行的简单介绍
Jul 17 Javascript
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
最细致的vue.js基础语法 值得收藏!
Nov 03 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
Nov 27 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
Apr 25 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
基于vue v-for 多层循环嵌套获取行数的方法
Sep 26 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 Javascript
jquery实现简单每周轮换的日历
Sep 10 jQuery
vuex的数据渲染与修改浅析
Nov 26 Vue.js
基于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维护文件系统
2006/10/09 PHP
PHP7匿名类用法分析
2016/09/26 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
javascript常用方法总结
2015/05/14 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
Javascript实现时间倒计时效果
2017/07/15 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
Python开发的实用计算器完整实例
2017/05/10 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
python pygame实现球球大作战
2019/11/25 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
大学生毕业自我鉴定
2013/11/06 职场文书
小学数学教学反思
2014/02/02 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
材料员岗位职责
2014/03/13 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
合伙购房协议样本
2014/10/06 职场文书
会议开幕词
2015/01/28 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
MySQL的安装与配置详细教程
2021/06/26 MySQL