js实现图片实时时钟


Posted in Javascript onJanuary 15, 2020

本文实例为大家分享了js实现图片实时时钟的具体代码,供大家参考,具体内容如下

描述:

将下图作为时间的背景,实现随时时钟的效果。

js实现图片实时时钟

效果:

js实现图片实时时钟

代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  div div
  {
   float: left;
   width: 30px;
   font-size: 120px;
  }
  #hours0,#hours1,#minute0,#minute1,#second0,#second1
  {
   width: 200px;
   height: 165px;
   background-image: url("img/sztp.jpg");
  }
 </style>
</head>
<body>
 <div>
  <div id="hours0"></div>
  <div id="hours1"></div>
  <div>:</div>
  <div id="minute0"></div>
  <div id="minute1"></div>
  <div>:</div>
  <div id="second0"></div>
  <div id="second1"></div>
 </div>
<script>
 var hours0,hours1,minute0,minute1,second0,second1;
 var imgPositionList=[];//各数字的位置
 
 init();
 function init() {
  hours0=document.getElementById("hours0");//小时1
  hours1=document.getElementById("hours1");//小时2
  minute0=document.getElementById("minute0");//分钟1
  minute1=document.getElementById("minute1");//分钟2
  second0=document.getElementById("second0");//秒针1
  second1=document.getElementById("second1");//秒针2
  for(var i=0;i<10;i++){ //循环赋值各数字的位置
   if(i<5){    //第一排
    imgPositionList.push({x:-i*208,y:0});
    continue;
   }
   imgPositionList.push({x:-(i-5)*208,y:-173}) //第二排
 
  }
  console.log( imgPositionList);
  imgPositionList.unshift(imgPositionList.pop());//将0 :最末尾的图片 删除 ,返回的值提到最前面。
 
  setInterval(animation,16);
 }
 
 function animation() {
  var date=new Date();
  var hour=date.getHours().toString().split("").map(function (t) { return getNum(t) });
  var minutes=date.getMinutes().toString().split("").map(function (t) { return getNum(t) });
  var seconds=date.getSeconds().toString().split("").map(function (t) { return getNum(t) });
 
  getDoubleArr(hour);
  getDoubleArr(minutes);
  getDoubleArr(seconds);
  setTimeDiv(hours0,hour[0]);
  setTimeDiv(hours1,hour[1]);
  setTimeDiv(minute0,minutes[0]);
  setTimeDiv(minute1,minutes[1]);
  setTimeDiv(second0,seconds[0]);
  setTimeDiv(second1,seconds[1]);
 }
 
 function getDoubleArr(arr) {  //字符串转化数组
  if(arr.length===1) arr.unshift(0);
  return arr;
 }
 function setTimeDiv(elem,num) {  //时间与图片的对应
  clone(elem.style,{
   backgroundPositionX: imgPositionList[num].x+"px",
   backgroundPositionY: imgPositionList[num].y+"px"
  });
 }
 
 function getNum(str) {
  if(isNaN(Number(str))) return str;
  return Number(str);
 }
 function clone(target,source) {
  for(var key in source){
   target[key]=source[key];
  }
 }
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 处理表单元素的代码
Feb 15 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
Sep 05 Javascript
Jquery实现由下向上展开效果的例子
Dec 08 Javascript
BootStrap glyphicon图标无法显示的解决方法
Sep 06 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
Sep 20 Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 Javascript
react实现点击选中的li高亮的示例代码
May 24 Javascript
利用Decorator如何控制Koa路由详解
Jun 26 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
Mar 19 Javascript
JavaScript如何判断input数据类型
Feb 06 Javascript
JavaScript原生数组函数实例汇总
Oct 14 Javascript
JavaScript 防盗链的原理以及破解方法
Dec 29 Javascript
js实现中文实时时钟
Jan 15 #Javascript
JS实现音量控制拖动
Jan 15 #Javascript
基于vue.js实现购物车
Jan 15 #Javascript
原生js+css调节音量滑块
Jan 15 #Javascript
Vue 图片压缩并上传至服务器功能
Jan 15 #Javascript
JS函数进阶之继承用法实例分析
Jan 15 #Javascript
JS函数进阶之prototy用法实例分析
Jan 15 #Javascript
You might like
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
PHP加密解密实例分析
2015/12/25 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
原创javascript小游戏实现代码
2010/08/19 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
再探JavaScript作用域
2014/09/24 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
Python中列表与元组的乘法操作示例
2018/02/10 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
Python学习之os模块及用法
2020/06/03 Python
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
办公室主任岗位职责
2013/11/08 职场文书
婚礼证婚人证婚词
2014/01/13 职场文书
公司请假条格式
2014/04/11 职场文书
外科护士长工作总结
2015/08/12 职场文书