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 相关文章推荐
JQuery打造PHP的AJAX表单提交实例
Nov 03 Javascript
js树插件zTree获取所有选中节点数据的方法
Jan 28 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
Apr 07 Javascript
easyui Draggable组件实现拖动效果
Aug 19 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
基于jQuery实现定位导航位置效果
Nov 15 jQuery
iview table高度动态设置方法
Mar 14 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
Oct 31 Javascript
js实现搜索栏效果
Nov 16 Javascript
axios+Vue实现上传文件显示进度功能
Apr 14 Javascript
layui2.0使用table+laypage实现真分页
Jul 27 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
Sep 21 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下打开URL地址的几种方法小结
2010/05/16 PHP
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
深入php内核之php in array
2015/11/10 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
js中关于一个分号的崩溃示例
2013/11/11 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
Vue组件化通讯的实例代码
2017/06/23 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
python与js主要区别点总结
2020/09/13 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
Django中template for如何使用方法
2021/01/31 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
硕士研究生自我鉴定
2013/11/08 职场文书
小学生美德少年事迹
2014/02/02 职场文书
行政办公室岗位职责
2014/03/18 职场文书
委托书格式范文
2015/01/28 职场文书
教师外出学习心得体会
2016/01/18 职场文书