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 CSS操作方法集合
Oct 31 Javascript
制作jquery遮罩层效果导航菜单代码分享
Dec 25 Javascript
jquery对复选框(checkbox)的操作汇总
Jan 13 Javascript
jQuery解决$符号命名冲突
Jun 18 Javascript
AngularJS指令与指令之间的交互功能示例
Dec 14 Javascript
codeMirror插件使用讲解
Jan 16 Javascript
bootstrap表单示例代码分享
May 18 Javascript
JavaScript中的E-mail 地址格式验证
Mar 28 Javascript
详解vue axios用post提交的数据格式
Aug 07 Javascript
Vue项目中Api的组织和返回数据处理的操作
Nov 04 Javascript
vue使用map代替Aarry数组循环遍历的方法
Apr 30 Javascript
vue实现循环滚动列表
Jun 30 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类继承 extends使用介绍
2014/01/14 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
js 居中漂浮广告
2010/03/21 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
2019/04/25 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
2014年元旦活动方案
2014/02/15 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
高中生毕业评语
2014/12/30 职场文书
小学运动会前导词
2015/07/20 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
Java的Object类的九种方法
2022/04/13 Java/Android
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript