js实现图片实时时钟

 更新时间:2020年01月15日 15:29:36   作者:SSSkyCong  
这篇文章主要为大家详细介绍了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 createElement和innerHTML增加页面元素的性能对比

    Javascript createElement和innerHTML增加页面元素的性能对比

    Javascript之createElement和innerHTML增加页面元素的性能对比
    2009-09-09
  • Javascript表单序列化原理及实现代码详解

    Javascript表单序列化原理及实现代码详解

    这篇文章主要介绍了Javascript表单序列化原理及实现代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 推荐几个不错的console调试技巧实现

    推荐几个不错的console调试技巧实现

    这篇文章主要介绍了推荐几个不错的console调试技巧实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 关于ES6的六个小特性(二)

    关于ES6的六个小特性(二)

    ES6提供了大量新的好的东西,在过去的一年内,浏览器提供商做了大量的辛勤工作将新的语言特性更新到他们的浏览器中。尽管有重大的更新,很多小的语言更新另我眼前一亮,下面这篇文章主要介绍了关于ES6的六个小特性,需要的朋友可以参考下。
    2017-02-02
  • 通过循环优化 JavaScript 程序

    通过循环优化 JavaScript 程序

    这篇文章主要介绍了通过循环优化 JavaScript 程序,对于提高 JavaScript 程序的性能这个问题,最简单同时也是很容易被忽视的方法就是学习如何正确编写高性能循环语句。下面我们来学习一下吧
    2019-06-06
  • JavaScript中String对象的方法介绍

    JavaScript中String对象的方法介绍

    本文主要对JavaScript中String对象的方法进行介绍。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • js实现多选项切换导航菜单的方法

    js实现多选项切换导航菜单的方法

    这篇文章主要介绍了js实现多选项切换导航菜单的方法,可实现动态生成多选项切换导航菜单的功能,是非常实用的技巧,需要的朋友可以参考下
    2015-02-02
  • js事件(Event)知识整理

    js事件(Event)知识整理

    事件(Event)知识整理,本文由网上资料整理而来,需要的朋友可以参考下
    2012-10-10
  • JavaScript实现两个数组的交集

    JavaScript实现两个数组的交集

    这篇文章主要介绍了JavaScript实现两个数组的交集,给定两个数组 ​​nums1​​​和​​nums2​​返回它们的交集,输出结果中的每个元素一定是唯一的,下文详细介绍,需要的小伙伴可以参考一下
    2022-03-03
  • JavaScript针对网页节点的增删改查用法实例

    JavaScript针对网页节点的增删改查用法实例

    这篇文章主要介绍了JavaScript针对网页节点的增删改查用法,实例分析了JavaScript操作网页节点的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02

最新评论