基于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性能优化 创建文档碎片(document.createDocumentFragment)
Jul 13 Javascript
引用外部脚本时script标签关闭的写法
Jan 20 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
Sep 22 Javascript
js实现仿Discuz文本框弹出层效果
Aug 13 Javascript
JS定时器实现数值从0到10来回变化
Dec 09 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
Feb 03 Javascript
浅谈react.js中实现tab吸顶效果的问题
Sep 06 Javascript
parabola.js抛物线与加入购物车效果的示例代码
Oct 25 Javascript
es6在react中的应用代码解析
Nov 08 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
Aug 05 Javascript
Vue实现点击箭头上下移动效果
Jun 11 Javascript
JavaScript实现鼠标经过表格某行时此行变色
Nov 20 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
PHP技术开发技巧分享
2010/03/23 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
vue实现选中效果
2020/10/07 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
简单介绍Python中的try和finally和with方法
2015/05/05 Python
用matplotlib画等高线图详解
2017/12/14 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
python使用正则筛选信用卡
2019/01/27 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
django 取消csrf限制的实例
2020/03/13 Python
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
中文师范生自荐信
2014/01/30 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
浅谈Python数学建模之固定费用问题
2021/06/23 Python
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android