基于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 相关文章推荐
入门基础学习 ExtJS笔记(一)
Nov 11 Javascript
JavaScript获取和设置CheckBox状态的简单方法
Jul 05 Javascript
在JS中解析HTML字符串示例代码
Apr 16 Javascript
如何编写高质量JS代码
Dec 28 Javascript
JavaScript实现同时调用多个函数的方法
Nov 09 Javascript
javascript执行环境及作用域详解
May 05 Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
Sep 04 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
Vue实现底部侧边工具栏的实例代码
Sep 03 Javascript
用Javascript实现发送短信验证码间隔功能
Feb 08 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扩展” 的解决方法
2007/04/16 PHP
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
Python探索之创建二叉树
2017/10/25 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
会计专业毕业生自荐信范文
2013/12/20 职场文书
单位刻章介绍信范文
2014/01/11 职场文书
学生会主席就职演讲稿
2014/01/14 职场文书
自荐信写法介绍
2014/01/25 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
退休教师欢送会主持词
2014/03/31 职场文书
企业法人授权委托书
2014/04/03 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
学校师德承诺书
2014/05/23 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
财务人员个人工作总结
2015/02/27 职场文书
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs
SQL Server中使用表变量和临时表
2022/05/20 SQL Server
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers