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计数器代码
Nov 04 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
Mar 21 Javascript
jquery 页面滚动到指定DIV实现代码
Sep 25 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
jquery自定义表格样式
Nov 23 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
Aug 10 Javascript
基于JavaScript实现本地图片预览
Feb 08 Javascript
React组件重构之嵌套+继承及高阶组件详解
Jul 19 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
Vue $emit $refs子父组件间方法的调用实例
Sep 12 Javascript
Vue使用zTree插件封装树组件操作示例
Apr 25 Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 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
PHP快速排序quicksort实例详解
2016/09/28 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
Python守护进程(daemon)代码实例
2015/03/06 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
浅谈Python爬虫基本套路
2019/03/25 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
如何通过python实现人脸识别验证
2020/01/17 Python
tensorflow 重置/清除计算图的实现
2020/01/19 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
初一家长会邀请函
2014/01/31 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
简历自荐信范文
2015/03/09 职场文书
奖金申请报告模板
2015/05/15 职场文书
资产移交协议书
2016/03/24 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android