基于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 相关文章推荐
?牟┛途W扣了一??效果出?? target=
May 27 Javascript
js直接编辑当前cookie的脚本
Sep 14 Javascript
JQuery 常用方法基础教程
Feb 06 Javascript
JQuery Ajax 跨域访问的解决方案
Mar 12 Javascript
深入浅出理解javaScript原型链
May 09 Javascript
浅谈angularjs $http提交数据探索
Jan 20 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
jQuery实现Select下拉列表进行状态选择功能
Mar 30 jQuery
js实现前面自动补全位数的方法
Oct 10 Javascript
vue中的使用token的方法示例
Mar 10 Javascript
如何利用JavaScript实现二叉搜索树
Apr 02 Javascript
Vue实现下拉加载更多
May 09 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核心代码分析require和include的区别
2011/01/02 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
js href的用法
2010/05/13 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
使用vue3重构拼图游戏的实现示例
2021/01/25 Vue.js
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
python SVD压缩图像的实现代码
2019/11/05 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
最新计算机专业自荐信
2013/10/16 职场文书
建筑学推荐信
2013/11/03 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL