jquery制作圖片時(shí)鐘特效
本文實(shí)例為大家分享了jquery制作圖片時(shí)鐘特效的具體代碼,供大家參考,具體內(nèi)容如下
一、生成數(shù)字時(shí)鐘
<script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); oP.innerHTML=str; } } /*將數(shù)字轉(zhuǎn)換為字符串且一位數(shù)顯示為兩位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } </script> <p id="time"></p>
效果:
二、將數(shù)字轉(zhuǎn)換為圖片
方法一:
圖片名稱即數(shù)字,用最簡(jiǎn)單的寫法。
用到圖片:
寫一個(gè)函數(shù)strToImg(str)將一個(gè)字符串str中每一個(gè)數(shù)字轉(zhuǎn)換為對(duì)應(yīng)圖片,然后動(dòng)態(tài)創(chuàng)建<img>標(biāo)簽。
注意:每次調(diào)用需清空<p>標(biāo)簽中的內(nèi)容。
<script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); //oP.innerHTML=str; strToImg(str); } } /*將數(shù)字轉(zhuǎn)換為字符串且一位數(shù)顯示為兩位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } function strToImg(str){ var str=str; $("#time").empty(); for(var i=0;i<str.length;i++){ var oImg=$("<img />"); oImg.attr("src","images/"+str.charAt(i)+".png"); $("#time").append(oImg); } } </script> <p id="time"></p>
方法二:【不適用】
如果圖片名稱不是純數(shù)字,就用一個(gè)數(shù)組保存起來。
本方法操作dom太多,效率非常低,有時(shí)候6個(gè)節(jié)點(diǎn)顯示不全。
因?yàn)槲冶疽馐遣橘Y料看到這樣寫涉及到圖片預(yù)加載,以為可以加快效率。嘗試了一下,現(xiàn)在看來還是不太懂預(yù)加載原理,留坑。
<script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); } function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); //oP.innerHTML=str; strToImg(str); } /*將數(shù)字轉(zhuǎn)換為字符串且一位數(shù)顯示為兩位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } function strToImg(str){ var str=str; var imageArray=[]; for(i=0;i<11;i++){ imageArray[i]=new Image(); } //將個(gè)圖像定義給相應(yīng)的數(shù)組元素,使數(shù)組元素下標(biāo)與圖像所對(duì)應(yīng)的數(shù)字字符一一對(duì)應(yīng) imageArray[0].src="images/0.png"; imageArray[1].src="images/1.png"; imageArray[2].src="images/2.png"; imageArray[3].src="images/3.png"; imageArray[4].src="images/4.png"; imageArray[5].src="images/5.png"; imageArray[6].src="images/6.png"; imageArray[7].src="images/7.png"; imageArray[8].src="images/8.png"; imageArray[9].src="images/9.png"; imageArray[10].src="images/fh.png"; $("#time").empty(); for(var i=0;i<str.length;i++){ var oImg=imageArray[str.charAt(i)]; //oImg.attr("src",imageArray[i].src); $("#time").append(oImg); } } </script> <p id="time"></p>
方法三:
將<img>標(biāo)簽硬編碼在html中。
<p id="time"><img src="images/0.png"/><img src="images/0.png"/><img src="images/0.png"/><img src="images/0.png"/><img src="images/0.png"/><img src="images/0.png"/></p> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); } function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); //oP.innerHTML=str; strToImg(str); } var imageArray=[]; //將個(gè)圖像定義給相應(yīng)的數(shù)組元素,使數(shù)組元素下標(biāo)與圖像所對(duì)應(yīng)的數(shù)字字符一一對(duì)應(yīng) imageArray[0]="images/0.png"; imageArray[1]="images/1.png"; imageArray[2]="images/2.png"; imageArray[3]="images/3.png"; imageArray[4]="images/4.png"; imageArray[5]="images/5.png"; imageArray[6]="images/6.png"; imageArray[7]="images/7.png"; imageArray[8]="images/8.png"; imageArray[9]="images/9.png"; imageArray[10]="images/fh.png"; /*將數(shù)字轉(zhuǎn)換為字符串且一位數(shù)顯示為兩位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } function strToImg(str){ var str=str; for(var i=0;i<str.length;i++){ $("#time").find("img").eq(i).attr("src",imageArray[str.charAt(i)]); } } </script>
方法四:【推薦】
動(dòng)態(tài)生成<img>標(biāo)簽,且高效的寫法。
<p id="time"></p> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); } function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); //oP.innerHTML=str; strToImg(str); } /*將數(shù)字轉(zhuǎn)換為字符串且一位數(shù)顯示為兩位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } var imageArray=[]; //將個(gè)圖像定義給相應(yīng)的數(shù)組元素,使數(shù)組元素下標(biāo)與圖像所對(duì)應(yīng)的數(shù)字字符一一對(duì)應(yīng) imageArray[0]="images/0.png"; imageArray[1]="images/1.png"; imageArray[2]="images/2.png"; imageArray[3]="images/3.png"; imageArray[4]="images/4.png"; imageArray[5]="images/5.png"; imageArray[6]="images/6.png"; imageArray[7]="images/7.png"; imageArray[8]="images/8.png"; imageArray[9]="images/9.png"; imageArray[10]="images/fh.png"; function strToImg(str){ var str=str; var tempHtml=''; for(var i=0;i<str.length;i++){ var imgHtml="<img src="+imageArray[str.charAt(i)]+"/>"; tempHtml+=imgHtml; } $("#time").html(tempHtml); } </script>
更多JavaScript時(shí)鐘特效點(diǎn)擊查看:JavaScript時(shí)鐘特效專題
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jquery+html5時(shí)鐘特效代碼分享(可設(shè)置鬧鐘并且語音提醒)
- jquery+html5制作超酷的圓盤時(shí)鐘表
- jQuery+css實(shí)現(xiàn)的時(shí)鐘效果(兼容各瀏覽器)
- jquery制作LED 時(shí)鐘特效
- jquery模擬LCD 時(shí)鐘的html文件源代碼
- 基于jQuery和CSS3制作數(shù)字時(shí)鐘附源碼下載(jquery篇)
- jQuery超酷平面式時(shí)鐘效果代碼分享
- jQuery CSS3相結(jié)合實(shí)現(xiàn)時(shí)鐘插件
- 基于Jquery和CSS3制作數(shù)字時(shí)鐘附源碼下載(CSS3篇)
- jQuery實(shí)現(xiàn)的電子時(shí)鐘效果完整示例
相關(guān)文章
jquery 卷簾效果實(shí)現(xiàn)代碼(不同方向)
卷簾效果在生活中應(yīng)用比較廣泛,因?yàn)樗囊曈X效果比較不錯(cuò),本文用代碼實(shí)現(xiàn)一個(gè),感興趣的朋友不妨了解一下,或許對(duì)你學(xué)習(xí)jquery有所幫助,好了話不多說切入正題2013-02-02JQuery 實(shí)現(xiàn)文件下載的常用方法分析
這篇文章主要介紹了JQuery 實(shí)現(xiàn)文件下載的常用方法,結(jié)合實(shí)例形式分析了jQuery的GET方式、POST方式及HTML5 Blob對(duì)象等常見的文件下載機(jī)制、原理與實(shí)現(xiàn)方法,需要的朋友可以參考下2019-10-10jQuery使用load()方法載入另外一個(gè)網(wǎng)頁文件內(nèi)的指定標(biāo)簽內(nèi)容到div標(biāo)簽的方法
這篇文章主要介紹了jQuery使用load()方法載入另外一個(gè)網(wǎng)頁文件內(nèi)的指定標(biāo)簽內(nèi)容到div標(biāo)簽的方法,涉及jQuery中l(wèi)oad方法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03Jquery 點(diǎn)擊按鈕自動(dòng)高亮實(shí)現(xiàn)原理及代碼
拓展一個(gè)點(diǎn)擊按鈕自動(dòng)高亮的原理很簡(jiǎn)單,在點(diǎn)擊的時(shí)候給元素加上一個(gè)自定義的attr,具體實(shí)現(xiàn)祥看本文2014-04-04jquery實(shí)現(xiàn)背景墻聚光燈效果示例分享
這篇文章主要介紹了jquery實(shí)現(xiàn)背景墻聚光燈效果示例,需要的朋友可以參考下2014-03-03利用JQuery寫一個(gè)簡(jiǎn)單的異步分頁插件
這篇文章主要為大家詳細(xì)介紹了如何利用JQuery寫一個(gè)簡(jiǎn)單的異步分頁插件,感興趣的小伙伴們可以參考一下2016-03-03