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 相关文章推荐
fckeditor 获取文本框值的实现代码
Feb 09 Javascript
理解JavaScript的caller,callee,call,apply
Apr 28 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
Oct 29 Javascript
表格奇偶行设置不同颜色的核心JS代码
Dec 24 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
Dec 02 Javascript
jQuery日历插件datepicker用法详解
Mar 03 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
Nov 30 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
Mar 03 Javascript
JavaScript实现时间表动态效果
Jul 15 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
three.js 将图片马赛克化的示例代码
Jul 31 Javascript
Ant design vue中的联动选择取消操作
Oct 31 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脚本[带参数]的方法
2010/01/22 PHP
用php实现的下载css文件中的图片的代码
2010/02/08 PHP
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
js验证模型自我实现的具体方法
2013/06/21 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
JS数组(Array)处理函数整理
2014/12/07 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
vue.js简单配置axios的方法详解
2017/12/13 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
vue debug 二种方法
2018/09/16 Javascript
Python 错误和异常代码详解
2018/01/29 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
python实现mean-shift聚类算法
2020/06/10 Python
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
伦敦的高级牛仔布专家:Trilogy
2018/08/06 全球购物
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
手术室护士长竞聘书
2014/03/31 职场文书
广告宣传策划方案
2014/05/21 职场文书
电气自动化求职信
2014/06/24 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
python 模块重载的五种方法
2021/04/24 Python
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL