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 相关文章推荐
JavaScript让IE浏览器event对象符合W3C DOM标准
Nov 24 Javascript
一些经常会用到的Javascript检测函数
May 31 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
易操作的jQuery表单提示插件
Dec 01 Javascript
使用jQuery监听DOM元素大小变化
Feb 24 Javascript
酷! 不同风格页面布局幻灯片特效js实现
Feb 19 Javascript
Vue如何引入远程JS文件
Apr 20 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
Nov 02 Javascript
利用vue开发一个所谓的数独方法实例
Dec 21 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
Jan 12 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 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防注入漏洞过滤函数代码
2012/04/11 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
js判断浏览器类型的方法
2013/08/07 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
python中日期和时间格式化输出的方法小结
2015/03/19 Python
python获取一组数据里最大值max函数用法实例
2015/05/26 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Python3.6 Schedule模块定时任务(实例讲解)
2017/11/09 Python
详解django三种文件下载方式
2018/04/06 Python
python使用knn实现特征向量分类
2018/12/26 Python
Python2与Python3的区别实例分析
2019/04/11 Python
Python中过滤字符串列表的方法
2020/12/22 Python
python中re模块知识点总结
2021/01/17 Python
HTML5 与 XHTML2
2008/10/17 HTML / CSS
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
个人找工作自荐信格式
2013/09/21 职场文书
办公室主任职责范文
2013/11/08 职场文书
学生打架检讨书
2014/02/14 职场文书
Nginx跨域问题解析与解决
2022/08/05 Servers