js數(shù)字滑動(dòng)時(shí)鐘的簡(jiǎn)單實(shí)現(xiàn)(示例講解)
廢話不多說(shuō),直接上代碼
<!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數(shù)字滑動(dòng)時(shí)鐘的簡(jiǎn)單實(shí)現(xiàn)(示例講解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- JS實(shí)現(xiàn)簡(jiǎn)易換圖時(shí)鐘功能分析
- JS+CSS實(shí)現(xiàn)滾動(dòng)數(shù)字時(shí)鐘效果
- 五步輕松實(shí)現(xiàn)JavaScript HTML時(shí)鐘效果
- JS+Canvas繪制動(dòng)態(tài)時(shí)鐘效果
- JavaScript之創(chuàng)意時(shí)鐘項(xiàng)目(實(shí)例講解)
- 一個(gè)簡(jiǎn)易時(shí)鐘效果js實(shí)現(xiàn)代碼
- 基于JavaScript實(shí)現(xiàn)數(shù)碼時(shí)鐘效果
- JavaScript Canvas繪制圓形時(shí)鐘效果
- JavaScript實(shí)現(xiàn)仿Clock ISO時(shí)鐘
相關(guān)文章
微信小程序手機(jī)號(hào)授權(quán)一鍵登錄功能實(shí)現(xiàn)代碼
在微信小程序中實(shí)現(xiàn)手機(jī)號(hào)一鍵登錄功能,首先需要通過(guò)uni.login調(diào)用獲取微信的登錄憑證(code),然后將此code發(fā)送到服務(wù)端,本文給大家介紹微信小程序手機(jī)號(hào)授權(quán)一鍵登錄功能,感興趣的朋友跟隨小編一起看看吧2024-10-10JS實(shí)現(xiàn)超過(guò)長(zhǎng)度限制后自動(dòng)跳轉(zhuǎn)下一款文本框的方法
這篇文章主要介紹了JS實(shí)現(xiàn)超過(guò)長(zhǎng)度限制后自動(dòng)跳轉(zhuǎn)下一款文本框的方法,涉及javascript操作字符及本文框的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02通過(guò)掃描二維碼打開(kāi)app的實(shí)現(xiàn)代碼
在項(xiàng)目開(kāi)發(fā)中遇到這樣的需求,掃描二維碼打開(kāi)app如果用戶沒(méi)有這個(gè)app則提示它跳轉(zhuǎn),怎么實(shí)現(xiàn)呢?下面小編給大家分享通過(guò)掃描二維碼打開(kāi)app的實(shí)現(xiàn)代碼,感興趣的朋友參考下吧2016-11-11JS實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊展開(kāi)或隱藏表格行的方法
這篇文章主要介紹了JS實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊展開(kāi)或隱藏表格行的方法,實(shí)例分析了javascript操作table表格與css樣式的技巧,需要的朋友可以參考下2015-03-03使用JavaScript實(shí)現(xiàn)頁(yè)面局部更新的方法總結(jié)
在JavaScript中,Ajax(Asynchronous JavaScript and XML)是一種用于在后臺(tái)與服務(wù)器進(jìn)行異步通信的技術(shù),本文給大家介紹了使用JavaScript實(shí)現(xiàn)頁(yè)面局部更新的三種方法,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12