基于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 相关文章推荐
有关于JS构造函数的重载和工厂方法
Apr 07 Javascript
jquery实现滑动图片自己测试的例子
Nov 05 Javascript
JavaScript获得表单target属性的方法
Apr 02 Javascript
在Mac OS下使用Node.js的简单教程
Jun 24 Javascript
javascript实现input file上传图片预览效果
Dec 31 Javascript
微信小程序 switch组件详解及简单实例
Jan 10 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
Jan 18 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
Mar 29 Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 Javascript
Three.js中网格对象MESH的属性与方法详解
Sep 27 Javascript
vue-自定义组件传值的实例讲解
Sep 18 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
May 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php中大括号作用介绍
2012/03/22 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
Python中的推导式使用详解
2015/06/03 Python
python自动化报告的输出用例详解
2018/05/30 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
如何利用Python识别图片中的文字
2020/05/31 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
审计工作个人的自我评价
2013/12/25 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
品酒会策划方案
2014/05/26 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
2015年派出所工作总结
2015/04/24 职场文书
毕业生政审意见范文
2015/06/04 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang