js数字滑动时钟的简单实现(示例讲解)


Posted in Javascript onAugust 14, 2017

废话不多说,直接上代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style type="text/css">
    body,ul{margin:0;padding: 0;}
    .content{margin:100px auto;width: 1000px;}
    .box{position: relative;float: left;width: 50px;height: 120px;overflow: hidden;}
    .box li{position: absolute;left: 0;width:100%;height: 120px;list-style:none;font-size:80px;font-weight: bold;background-color: #fff; line-height: 120px; text-align: center;}
    .colon{float: left;height: 120px;font-size: 80px;color: #e91e63;font-weight: bold;line-height: 100px;}
  </style>
</head>
<body>
  <div class="content">
  </div>
  <script type="text/javascript">
  (function(){
    var colors = ["#69D2E7", "#E20049", "#19215E", "#F38630", "#FA6900", "#FF4E50", "#F9D423", "#FFB6FF", "#474168", "#6ACAFC"];
    var content = document.querySelector('.content');
    var num = 0;
    var height = 120;
    var maxheight = (2-num)*height;
    var timeNum = [3,10,6,10,6,10];
    var position = [];
    var NumberBoxs = [];
    for(var i =0;i<10;i++){
      position.push((1-i)*height);
    };
    function NumberBox() {}
    NumberBox.prototype = {
      init : function () {
        var innerHTML = "<div class='box' id='box"+num+"'><ul>"
        this.num = num;
        num++;
        for(var i =0,l=timeNum[this.num];i<l;i++){
          innerHTML += "<li style='color:"+colors[i]+"'>"+i+"</li>";
        }
        innerHTML += "</ul><div>"
        content.innerHTML += innerHTML;
        if(num==2||num==4){content.innerHTML += "<div class='colon'>:</div>"}
      },
      dominit : function(){
        this.Ali = [].slice.call(document.getElementById('box'+this.num).getElementsByTagName('li'),0);    
        this.Ali.forEach(function(dom,i){
          dom.style.top = position[i] + "px";
          dom.style.transition = "top .8s";
        })  
        this.hasdom = true;  
      },
      toNum : function (n) {
        if(!this.hasdom){this.dominit();}
        n = ""+n;
        var p = this;
        var l = p.Ali.length-1;
        while(p.Ali[1].innerHTML!=n){
        p.Ali.unshift(p.Ali.pop());
        }
        p.Ali.forEach(function (dom,i) {
        dom.style.zIndex = (i==l)?"-1":"1";
        dom.style.top = position[i] + "px";
        })     
      }
    }
    for(var i=0;i<6;i++){
      var o = new NumberBox();
      o.init();
      NumberBoxs.push(o);
    }
    function getTime() {
      var time = new Date();
      return (""+Fixed2(time.getHours())+Fixed2(time.getMinutes())+Fixed2(time.getSeconds())).split("");
    }
    function Fixed2(n){
      return Number(n)<10?"0"+n:n;
    }
    (function () {
      var time = getTime();
      NumberBoxs.forEach(function(obj,i){
        obj.toNum(time[i]);
      });
      setTimeout(arguments.callee,1000);
    })()
  })();
  </script>
</body>
</html>

以上这篇js数字滑动时钟的简单实现(示例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 弹出菜单/窗口效果
Oct 30 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
Nov 20 Javascript
JavaScript 基础函数_深入剖析变量和作用域
May 18 Javascript
node.js cookie-parser之parser.js
Jun 06 Javascript
js使用原型对象(prototype)需要注意的地方
Aug 28 Javascript
JS监控关闭浏览器操作的实例详解
Sep 12 Javascript
web前端vue filter 过滤器
Jan 12 Javascript
优雅地使用loading(推荐)
Apr 20 Javascript
jquery 时间戳转日期过程详解
Oct 12 jQuery
javascript数组的定义及操作实例
Nov 10 Javascript
使用uni-app开发微信小程序的实现
Dec 13 Javascript
js+css实现全屏侧边栏
Jun 16 Javascript
使用yeoman构建angular应用的方法
Aug 14 #Javascript
AngularJS 购物车全选/取消全选功能的实现方法
Aug 14 #Javascript
使用D3.js制作图表详解
Aug 13 #Javascript
Vue-Cli中自定义过滤器的实现代码
Aug 12 #Javascript
react开发教程之React 组件之间的通信方式
Aug 12 #Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
Aug 12 #Javascript
浅谈关于angularJs中使用$.ajax的注意点
Aug 12 #Javascript
You might like
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
谈谈PHP语法(4)
2006/10/09 PHP
php数据库连接
2006/10/09 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
react实现换肤功能的示例代码
2018/08/14 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python搭建简易服务器分析与实现
2012/12/15 Python
详解Python开发中如何使用Hook技巧
2017/11/01 Python
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
python实现飞机大战游戏
2020/10/26 Python
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
解释i节点在文件系统中的作用
2013/11/26 面试题
营业经理岗位职责
2013/11/10 职场文书
三项教育活动实施方案
2014/03/30 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
品酒会策划方案
2014/05/26 职场文书
2014最新实习证明模板
2014/10/02 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
Go 语言结构实例分析
2021/07/04 Golang