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 相关文章推荐
JavaScript 程序编码规范
Nov 23 Javascript
防止文件缓存的js代码
Jan 10 Javascript
JS正则验证邮箱的格式详细介绍
Nov 19 Javascript
使用javascript实现监控视频播放并打印日志
Jan 05 Javascript
七夕情人节丘比特射箭小游戏
Aug 20 Javascript
JQuery ztree 异步加载实例讲解
Feb 25 Javascript
jQuery Ajax使用FormData对象上传文件的方法
Sep 07 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
JS获取子、父、兄节点方法小结
Aug 14 Javascript
react以create-react-app为基础创建项目
Mar 14 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
Aug 17 Javascript
JS实现无限轮播无倒退效果
Sep 21 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
PHP实现变色验证码实例
2014/01/06 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
vue实现多级菜单效果
2019/10/19 Javascript
[19:59]2014DOTA2国际邀请赛 IG战队纪录片
2014/08/07 DOTA
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中集合类型(set)学习小结
2015/01/28 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python中常见的异常总结
2018/02/20 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
Python将string转换到float的实例方法
2019/07/29 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
医务工作者先进事迹材料
2014/01/26 职场文书
学校标语大全
2014/06/19 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
主持人开幕词
2015/01/29 职场文书
接待员岗位职责
2015/02/13 职场文书
民事答辩状范本
2015/05/21 职场文书
原告离婚代理词
2015/05/23 职场文书
宣传稿格式范文
2015/07/23 职场文书
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫