jquery制作圖片時鐘特效
本文實例為大家分享了jquery制作圖片時鐘特效的具體代碼,供大家參考,具體內(nèi)容如下
一、生成數(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ù)字,用最簡單的寫法。
用到圖片:

寫一個函數(shù)strToImg(str)將一個字符串str中每一個數(shù)字轉(zhuǎn)換為對應圖片,然后動態(tài)創(chuàng)建<img>標簽。
注意:每次調(diào)用需清空<p>標簽中的內(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é)點顯示不全。
因為我本意是查資料看到這樣寫涉及到圖片預加載,以為可以加快效率。嘗試了一下,現(xiàn)在看來還是不太懂預加載原理,留坑。
<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();
}
//將個圖像定義給相應的數(shù)組元素,使數(shù)組元素下標與圖像所對應的數(shù)字字符一一對應
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>標簽硬編碼在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=[];
//將個圖像定義給相應的數(shù)組元素,使數(shù)組元素下標與圖像所對應的數(shù)字字符一一對應
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>標簽,且高效的寫法。
<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=[];
//將個圖像定義給相應的數(shù)組元素,使數(shù)組元素下標與圖像所對應的數(shù)字字符一一對應
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時鐘特效點擊查看:JavaScript時鐘特效專題
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery使用load()方法載入另外一個網(wǎng)頁文件內(nèi)的指定標簽內(nèi)容到div標簽的方法
這篇文章主要介紹了jQuery使用load()方法載入另外一個網(wǎng)頁文件內(nèi)的指定標簽內(nèi)容到div標簽的方法,涉及jQuery中l(wèi)oad方法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03

