js數字滑動時鐘

来源:http://www.cnblogs.com/cxzhijia/archive/2017/08/13/7352564.html
-Advertisement-
Play Games

js數字滑動時鐘: ...


js數字滑動時鐘:

<!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>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在前端項目開發中,px,em,以及rem都是頁面佈局常用的單位,雖然它們是長度單位,但是所含的意義不一樣。通過複習和查閱,總結了以下知識。 px像素(Pixel) 定義:相對長度單位。像素px是相對於顯示器屏幕解析度而言的。(引自CSS2.0手冊) 特點: 1:px代表的是像素,用它設置字體大小時, ...
  • 普通的路人,普通地瞧。簡單粗暴地分析了 Zepto 的 Ajax 模塊,分析時使用的是目前最新 1.2.0 版本。 ...
  • 本文將介紹如何親手來完成一個yeoman的generator,以實現快速構建最適合自己的項目。 本文將實現的generator起名為ngtimo,依照yeoman的命名規矩就叫做generator ngtimo,是筆者這周末一晚上加一上午參考著yeoman官方給出的幾個generator( "gen ...
  • 若是沒有對編輯器做任何配置直接添加圖片的話,顯示的html內容如下圖所示:它會顯示出原圖片尺寸 所以必須要對圖片的初始顯示尺寸做控制:ueditor文件中找到image.js文件 在image.js中找到如下圖所示: 在此處添加上所要想顯示的尺寸! http://ueditor.baidu.com/ ...
  • 假如面試回答js的運行機制時,你可能說出這麼一段話:“Javascript的事件分同步任務和非同步任務,遇到同步任務就放在執行棧中執行,而碰到非同步任務就放到任務隊列之中,等到執行棧執行完畢之後再去執行任務隊列之中的事件。”但你能說出背後的原因嗎? 先理解相關概念 線程與進程 進程:是系統資源分配和調度 ...
  • 剛學習angularJS,於是練習寫了一個類似於購物車的全選/取消全選的功能,主要實現的功能有: 1、勾選全選checkbox,列表數據全部被勾選,取消同理,用ng-model實現雙向綁定; 2、選中列表中的所有checkbox,全選也會被勾選;(這裡我想到的方法是給每一個對象增加checked欄位 ...
  • 先從一個小題目開始: 以下代碼的輸出結果是? 下麵還有加強版: // 2 function test2(value) { value = value || 'default 2'; console.log(value); } setTimeout(test2, 1000, 2.1); // T2-1 ...
  • 一.JavaScript介紹 JavaScript又被稱為js,主要負責瀏覽器的動畫等效果.現在一般瀏覽器都相容js(IE6.7.8可能不相容某些用法)。 二.JS常用語句 1.document.write(); 能夠直接用與HTML輸出流,就是說能夠直接在網頁中進行內容輸出。 實例: 2.aler ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...