<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ù)字,用最簡單的寫法。
用到圖片:











寫一個函數(shù)strToImg(str)將一個字符串str中每一個數(shù)字轉(zhuǎn)換為對應(yī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ù)字,就用一個數(shù)組保存起來。
本方法操作dom太多,效率非常低,有時候6個節(jié)點(diǎn)顯示不全。
因為我本意是查資料看到這樣寫涉及到圖片預(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(); } //將個圖像定義給相應(yīng)的數(shù)組元素,使數(shù)組元素下標(biāo)與圖像所對應(yīng)的數(shù)字字符一一對應(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=[]; //將個圖像定義給相應(yīng)的數(shù)組元素,使數(shù)組元素下標(biāo)與圖像所對應(yīng)的數(shù)字字符一一對應(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>
動態(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=[]; //將個圖像定義給相應(yīng)的數(shù)組元素,使數(shù)組元素下標(biāo)與圖像所對應(yīng)的數(shù)字字符一一對應(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>
本文作者starof,因知識本身在變化,作者也在不斷學(xué)習(xí)成長,文章內(nèi)容也不定時更新,為避免誤導(dǎo)讀者,方便追根溯源,請諸位轉(zhuǎn)載注明出處:http://www.cnblogs.com/starof/p/4989059.html有問題歡迎與我討論,共同進(jìn)步。
新聞熱點(diǎn)
疑難解答