一、生成数字时钟

<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="data:images/0.png";
imageArray[1].src="data:images/1.png";
imageArray[2].src="data:images/2.png";
imageArray[3].src="data:images/3.png";
imageArray[4].src="data:images/4.png";
imageArray[5].src="data:images/5.png";
imageArray[6].src="data:images/6.png";
imageArray[7].src="data:images/7.png";
imageArray[8].src="data:images/8.png";
imageArray[9].src="data:images/9.png";
imageArray[10].src="data: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="data:images/0.png"/><img src="data:images/0.png"/><img src="data:images/0.png"/><img src="data:images/0.png"/><img src="data:images/0.png"/><img src="data: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有问题欢迎与我讨论,共同进步。

jquery图片时钟的更多相关文章

  1. 推荐几款jquery图片切换插件

    一.前言 毕业季到了,大家都在匆匆忙忙的记录大学里最美好的时光,照片中各种花式.各种姿势都涌现出来了.这么多的照片怎么展示出来给自己的好友看呢?有人选择做成视频,有人选择ps之后做成图片集,而我选择利 ...

  2. 适应手机端的jQuery图片滑块动画DEMO演示

    在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  3. 精心挑选10款优秀的 jQuery 图片左右滚动插件

    在现代的网页设计中,图片和内容滑块是一种极为常见和重要的元素.你可以从头开始编写自己的滑动效果,但是这将浪费很多时间,因为网络上已经有众多的优秀的 jQuery 滑块插件.当然,如果要从大量的 jQu ...

  4. Cropper – 简单的 jQuery 图片裁剪插件

    Cropper 是一个简单的 jQuery 图像裁剪插件.它支持选项,方法,事件,触摸(移动),缩放,旋转.输出的裁剪数据基于原始图像大小,这样你就可以用它们来直接裁剪图像. 如果你尝试裁剪跨域图像, ...

  5. 美女jquery图片播放器插件

    相册在线查看http://keleyi.com/keleyi/phtml/image/6.htm 可全屏,可拖动,可自动播放的jquery图片展示插件 使用说明:1.引用css文件:<link ...

  6. 12款经典的白富美型—jquery图片轮播插件—前端开发必备

    图片轮播是网站中的常用功能,用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美 ...

  7. jQuery图片旋转展示收缩效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 我利用网上代码开发的JQuery图片插件

    我利用网上代码开发的JQuery图片插件 代码如下 (function($){ $.fn.FocusPic = function(options){ var defaults = { interval ...

  9. 分享22款响应式的 jQuery 图片滑块插件

    响应式(Responsive)设计的目标是要让产品界面能够响应用户的行为,根据不同终端设备自动调整尺寸,带给用户良好的使用体验.这篇文章收集了22款优秀的响应式 jQuery 幻灯片插件,它们能够帮助 ...

随机推荐

  1. Linux学习笔记15-YUM安装

    rpm软件包缺点:需要手工解决软件包的依赖关系.使用YUM可解决该问题. YUM(Yellodog Updater, Modified)是一个RPM前端程序,主要目的是设计用来自动解决RPM的依赖关系 ...

  2. JSESSIONID与SESSION

    用spring security的时候遇到了一个很诡异的问题: 已经登录的用户,而且没有标记remember-me,在重启服务器之后还会显示已经登录状态 这就严重啦,这样子如果要在session中储存 ...

  3. java多线程功力

    一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式.多线程编程可以使程序具有两条或两条以上的并发执行线索. 进程是指一个内存中运行的应用程序,每个进程都有自己 ...

  4. 如何在window Form中使用Font Awesome?

    随着技术的发展,web上以前的图片按钮现在逐步换成了图标字体,这些图标字体是矢量的,矢量图意味着每个图标都能在所有大小的屏幕上完美呈现,可以随时更改大小和颜色,而且不失真,真心给人一种“高大上”的感觉 ...

  5. Trumbowyg - 轻量的 WYSIWYG 编辑器

    Trumbowyg 是一个轻量,可定制的 jQuery 所见即所得(WYSIWYG)的编辑器插件.美丽的设计,生成语义化代码,带有功能强大的 API .编辑器和生成的代码进行了优化以支持 HTML5. ...

  6. 图标集锦:10套免费的社交媒体 & 社交网站图标

    社交网络是最近几年互联网领域最热门的关键词之一,如今社会网络化媒体也成为我们信息获取和传播的重要途径,很多网站都有把内容分享到社交媒体的功能. 社交媒体图标作为向用户传递信息的重要媒介,不管是在网页还 ...

  7. ae_将面积小于1500的Feature同附近Feature进行合并

    private void 合并1500图斑ToolStripMenuItem_Click(object sender, EventArgs e) { /* *将图层中面积小于1500的图斑与之相同BS ...

  8. SharePoint 2013 关于自定义显示列表表单的bug

    1.在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示: 2.之后发现文件夹 ...

  9. 一个插件让你在chrome直接运行apk

    插件的下载地址: https://chrome.google.com/webstore/detail/arc-welder/emfinbmielocnlhgmfkkmkngdoccbadn?utm_s ...

  10. 【转载】安卓APP架构

    注:本篇博文转载于 http://my.oschina.net/mengshuai/blog/541314?fromerr=z8tDxWUH 本文介绍了文章作者从事了几年android应用的开发,经历 ...