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 相关文章推荐
date.parse在IE和FF中的区别
Jul 29 Javascript
actionscript与javascript的区别
May 25 Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
Dec 26 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
微信小程序如何再次获取用户授权的方法
May 10 Javascript
详解vue中的父子传值双向绑定及数据更新问题
Jun 13 Javascript
vue获取form表单的值示例
Oct 29 Javascript
Vue 使用beforeEach实现登录状态检查功能
Oct 31 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
Feb 16 Javascript
vue-router定义元信息meta操作
Dec 07 Vue.js
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程序员基本要求和必备技能
2014/05/09 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
php生成word并下载代码实例
2019/03/15 PHP
php自动加载代码实例详解
2021/02/26 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
一段批量给页面上的控件赋值js
2010/06/19 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
2016/09/24 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
Python实现翻转数组功能示例
2018/01/12 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
护理专业毕业生自荐信范文
2014/01/05 职场文书
美发店5.1活动方案
2014/01/24 职场文书
同学聚会老师邀请函
2014/01/28 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS