基于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 相关文章推荐
从零学JSON之JSON数据结构
May 19 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
Apr 17 Javascript
win7下安装配置node.js+express开发环境
Dec 06 Javascript
基于jquery实现省市联动特效
Dec 17 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
May 04 Javascript
js实现加载页面就自动触发超链接的示例
Aug 31 Javascript
解决ie img标签内存泄漏的问题
Oct 13 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
JavaScript中this关键字用法实例分析
Aug 24 Javascript
fetch 如何实现请求数据
Dec 20 Javascript
JS中多层次排序算法的实现代码
Jan 06 Javascript
React四级菜单的实现
Apr 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
web方式ftp
2006/10/09 PHP
基于mysql的bbs设计(四)
2006/10/09 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
php字符集转换
2017/01/23 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
python使用matplotlib绘图时图例显示问题的解决
2017/04/27 Python
带你了解python装饰器
2017/06/15 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
2020/11/09 Python
Vrbo英国:预订度假屋
2020/08/19 全球购物
创建文明学校实施方案
2014/03/11 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
股东协议书范本
2014/04/14 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
领导视察通讯稿
2015/07/18 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
导游词之杭州西湖
2019/09/19 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android