你的位置:首页 > Java教程

[Java教程]jquery图片时钟


一、生成数字时钟

<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;  }  }/*将数字转换为字符串且一位数显示为两位,*/function toTwo(n){  return n<10?'0'+n:''+n;}</script><p id="time"></p>

效果:

二、将数字转换为图片

方法一:

图片名称即数字,用最简单的写法。

用到图片:

写一个函数strToImg(str)将一个字符串str中每一个数字转换为对应图片,然后动态创建<img>标签。

注意:每次调用需清空<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);  }  }/*将数字转换为字符串且一位数显示为两位,*/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>

方法二:【不适用】

如果图片名称不是纯数字,就用一个数组保存起来。

本方法操作dom太多,效率非常低,有时候6个节点显示不全。

因为我本意是查资料看到这样写涉及到图片预加载,以为可以加快效率。尝试了一下,现在看来还是不太懂预加载原理,留坑

<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);}/*将数字转换为字符串且一位数显示为两位,*/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();  }  //将个图像定义给相应的数组元素,使数组元素下标与图像所对应的数字字符一一对应  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=[];  //将个图像定义给相应的数组元素,使数组元素下标与图像所对应的数字字符一一对应  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 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>

方法四:【推荐】

动态生成<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);}/*将数字转换为字符串且一位数显示为两位,*/function toTwo(n){  return n<10?'0'+n:''+n;}var imageArray=[];  //将个图像定义给相应的数组元素,使数组元素下标与图像所对应的数字字符一一对应  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,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/4989059.html有问题欢迎与我讨论,共同进步。

 




深圳去九寨沟旅游报价跟团去九寨沟旅游多少钱几月去九寨沟旅游最好去九寨沟的旅游团价格去九寨沟旅游必去景点六一儿童节给孩子送什么礼物好? 武陵源在哪里?武陵源好玩吗? 野外探险需要什么装备?有什么注意事项? 2015年夏天去哪里玩好的? 从化音乐节在哪里举办?2015从化音乐节地点? 从化流溪河公园2015花海音乐节举办几天?流溪河花海音乐节到几号? 从化流溪河公园2015花海音乐节几号开始?流溪河花海音乐节开始时间? 从化五一哪里有花展?五一去从化哪里赏花? 北京海洋馆门票是多少? 北京西站离哪个地铁站近?坐什么公交车方便? 从深圳怎么去湖南凤凰古城最便宜? 北京海洋馆在哪?怎么去? 舌尖上的包子:盘点中国九大名包(全文) 深圳东部华侨城附近有住的地方吗?东部华侨城住一晚多少钱? 哪些地方出境游不需要签证,有护照就能去? 深圳东部华侨城大峡谷门票价格?东部华侨城大峡谷怎样预订? CY14E256L-SZ45XI Datasheet CY14E256L-SZ45XI Datasheet CY22801FXCT Datasheet CY22801FXCT Datasheet CY2292FZXI Datasheet CY2292FZXI Datasheet 九月份适合去哪里旅游 九月份适合去哪里旅游 九月份适合去哪里旅游 饶平绿岛山庄 饶平绿岛山庄 饶平绿岛山庄 坐飞机行李怎么托运 坐飞机行李怎么托运 坐飞机行李怎么托运