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学习之一个简易的日历控件
Mar 24 Javascript
jquery select(列表)的操作(取值/赋值)
Mar 16 Javascript
基于jquery的二级联动菜单实现代码
Apr 25 Javascript
Extjs NumberField后面加单位实现思路
Jul 30 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
Jan 07 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
Jan 10 Javascript
JavaScript中Math.SQRT2属性的使用详解
Jun 14 Javascript
jquery 表单验证之通过 class验证表单不为空
Nov 02 Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
Mar 01 Javascript
使用Promise封装小程序wx.request的实现方法
Nov 13 Javascript
jQuery 移除事件的方法
Jun 20 jQuery
使用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 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
js jquery做的图片连续滚动代码
2008/01/06 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
Vue实现购物车详情页面的方法
2019/08/20 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
python实现发送邮件功能
2017/07/22 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
Python数据可视化之画图
2019/01/15 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
sklearn+python:线性回归案例
2020/02/24 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
播音主持专业个人自我评价
2014/01/09 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技