基于jQuery和CSS3制作數(shù)字時(shí)鐘附源碼下載(jquery篇)
廢話不多說(shuō)了,先給大家展示下效果圖,感興趣的朋友繼續(xù)往下看 哦
HTML
和上一篇文章:使用jQuery和CSS3制作數(shù)字時(shí)鐘(CSS3篇)一樣的HTML結(jié)構(gòu),只是多了個(gè)>date用來(lái)展示日期和星期的。
<div id="clock" class="light"> <div class="display"> <div class="date"></div> <div class="digits"></div> </div> </div>
jQuery
CSS代碼請(qǐng)參照上一篇文章,本文不再啰嗦,直接看jQuery代碼。
首先我們定義參數(shù),定義用來(lái)調(diào)用數(shù)字的class名稱數(shù)組,定義中文星期名稱,定義時(shí)分秒的位置。
$(function(){ var clock = $('#clock'); //定義數(shù)字?jǐn)?shù)組0-9 var digit_to_name = ['zero','one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']; //定義星期 var weekday = ['周日','周一','周二','周三','周四','周五','周六']; var digits = {}; //定義時(shí)分秒位置 var positions = [ 'h1', 'h2', ':', 'm1', 'm2', ':', 's1', 's2' ]; });
然后構(gòu)建數(shù)字時(shí)鐘的時(shí)分秒。在上一篇文章中我們是直接在html中放置了數(shù)字時(shí)鐘的html結(jié)構(gòu),而現(xiàn)在我們使用jQuery來(lái)處理時(shí)鐘的展示,通過(guò)append()方法來(lái)構(gòu)建數(shù)字時(shí)鐘。
var digit_holder = clock.find('.digits'); $.each(positions, function(){ if(this == ':'){ digit_holder.append('<div class="dots">'); } else{ var pos = $('<div>'); for(var i=1; i<8; i++){ pos.append('<span class="d' + i + '">'); } digits[this] = pos; digit_holder.append(pos); } });
最后,我們要讓時(shí)鐘跑起來(lái)。每秒鐘調(diào)用一次update_time()函數(shù),在update_time()中,我們先用moment.js來(lái)格式化時(shí)間,關(guān)于moment.js的介紹請(qǐng)參照本站文章:使用moment.js輕松管理日期和時(shí)間。然后根據(jù)當(dāng)前時(shí)分秒,分別設(shè)置時(shí)分秒數(shù)字的class屬性,即顯示當(dāng)前時(shí)分秒數(shù)字。接著繼續(xù)使用moment.js來(lái)格式化日期和星期,最終完成了會(huì)走動(dòng)的數(shù)字時(shí)鐘,請(qǐng)看下面代碼:
$(function(){ ... (function update_time(){ //調(diào)用moment.js來(lái)格式化時(shí)間 var now = moment().format("HHmmss"); digits.h1.attr('class', digit_to_name[now[0]]); digits.h2.attr('class', digit_to_name[now[1]]); digits.m1.attr('class', digit_to_name[now[2]]); digits.m2.attr('class', digit_to_name[now[3]]); digits.s1.attr('class', digit_to_name[now[4]]); digits.s2.attr('class', digit_to_name[now[5]]); var date = moment().format("YYYY年MM月DD日"); var week = weekday[moment().format('d')]; $(".date").html(date + ' ' + week); // 每秒鐘運(yùn)行一次 setTimeout(update_time, 1000); })(); });
- jquery+html5時(shí)鐘特效代碼分享(可設(shè)置鬧鐘并且語(yǔ)音提醒)
- jquery+html5制作超酷的圓盤(pán)時(shí)鐘表
- jQuery+css實(shí)現(xiàn)的時(shí)鐘效果(兼容各瀏覽器)
- jquery制作LED 時(shí)鐘特效
- jquery制作圖片時(shí)鐘特效
- jquery模擬LCD 時(shí)鐘的html文件源代碼
- jQuery超酷平面式時(shí)鐘效果代碼分享
- jQuery CSS3相結(jié)合實(shí)現(xiàn)時(shí)鐘插件
- 基于Jquery和CSS3制作數(shù)字時(shí)鐘附源碼下載(CSS3篇)
- jQuery實(shí)現(xiàn)的電子時(shí)鐘效果完整示例
相關(guān)文章
jQuery取得設(shè)置清空select選擇的文本與值
這篇文章主要介紹了jQuery如何取得設(shè)置清空select選擇的文本與值,下面有個(gè)不錯(cuò)的示例,需要的朋友可以參考下2014-07-07jQuery實(shí)現(xiàn)每隔幾條元素增加1條線的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)每隔幾條元素增加1條線的方法,可實(shí)現(xiàn)每隔10條li元素增加一條虛線的功能,涉及jQuery元素的匹配與屬性動(dòng)態(tài)設(shè)置技巧,需要的朋友可以參考下2016-06-06Jquery 動(dòng)態(tài)添加按鈕實(shí)現(xiàn)代碼
在測(cè)量中 面是有不同的點(diǎn)組成,在輸入的時(shí)候 需要?jiǎng)討B(tài)的添加 不同點(diǎn)的坐標(biāo)值2010-05-05基于jQuery實(shí)現(xiàn)左右div自適應(yīng)高度完全相同的代碼
最近做前端設(shè)計(jì)時(shí)需要使左右兩個(gè)DIV高度自適應(yīng)。這其中的jquery代碼中的獲得高度用的clientHeight,介紹一下幾種不同的獲得方式以及他們的差別2012-08-08jQuery 聯(lián)動(dòng)日歷實(shí)現(xiàn)代碼
首先還是感謝下 妙味課堂 錄制的這一個(gè)日歷聯(lián)動(dòng)的視頻,正好整理下,方便需要的朋友2012-05-05jquery的ajax從純真網(wǎng)(cz88.net)獲取IP地址對(duì)應(yīng)地區(qū)名
使用jquery的ajax,輕松從純真網(wǎng)(cz88.net)獲取IP地址對(duì)應(yīng)地區(qū)名2009-12-12jQuery中內(nèi)容過(guò)濾器簡(jiǎn)單用法示例
這篇文章主要介紹了jQuery中內(nèi)容過(guò)濾器簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了jQuery中內(nèi)容過(guò)濾器的相關(guān)概念、功能、應(yīng)用場(chǎng)景及相關(guān)使用方法,需要的朋友可以參考下2018-03-03