一、生成数字时钟

<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. WPF实现强大的动态公式计算

    数据库可以定义表不同列之间的计算公式,进行自动公式计算,但如何实现行上的动态公式计算呢?行由于可以动态扩展,在某些应用场景下将能很好的解决实际问题. 1.VS2012新建一个WPF应用程序WpfApp ...

  2. CSS实现DIV水平 垂直居中-1

    水平大家都知道,一般固定宽度给个margin:0 auto:就可以了.下面实现水平垂直都居中 HTML <div class="parent"> </div> ...

  3. 原生JS:Number对象详解

    Number对象 本文参考MDN做的详细整理,方便大家参考MDN JavaScript 的 Number 对象是经过封装的能让你处理数字值的对象.Number 对象由 Number() 构造器创建. ...

  4. 如何实现SP文档库类似百度文档库的效果 (副标题:如何在SP2013文档库的SWF文件用FlexPager显示)

    1. 编辑文档库列表显示页面,如下图: 2. 添加内容编辑器,如下图: 3. 添加如下在[内容编辑器中]-[编辑源],添加如下JS代码,如下图: ​ 代码如下: <scrip type=&quo ...

  5. 对称密码-DES和3DES

    最近在看信息安全的知识,就总结了一下自己所学到知识. 先说一下什么是对称密码算法,什么是对称密码算法呢?对称密码算法是指有了加密密钥就可以推算出解密密钥,有了解密密钥就可以推算出加密密钥的的算法. 那 ...

  6. Gartner:用自适应安全架构来应对高级定向攻击

    发表于2015-06-24   摘要:当前的防护功能难以应对高级的定向攻击,由于企业系统所受到的是持续攻击,并持续缺乏防御力,面向“应急响应”的特别方式已不再是正确的思维模式,Garnter提出了用自 ...

  7. Android Tips: 打电话和发短信

    利用Android打电话非常简单,直接调用Android内在的电话功能就可以了. btnDail.setOnClickListener(new OnClickListener(){ @Override ...

  8. Swift - 访问通讯录-使用AddressBook.framework和AddressBookUI.framework框架实现

    1,通讯录访问介绍 通讯录(或叫地址簿,电话簿)是一个数据库,里面储存了联系人的相关信息.要实现访问通讯录有如下两种方式: (1)AddressBook.framework框架 : 没有界面,通过代码 ...

  9. 【Android】不依赖焦点和选中的TextView跑马灯【2】

    前言 之前有写一篇TextView跑马灯的效果,后来实际项目中有发现新的问题,比如还是无法自动跑,文本超过了显示区域就截取的问题,今天换了一种思路来实现,更简单更好用. 声明 欢迎转载,但请保留文章原 ...

  10. iOS之 opencv3.0.framework

    本文章的目的是从源代码包中编译出opencv2.framework供IOS开发使用. 基本上是按照http://docs.opencv.org/3.0-beta/doc/tutorials/intro ...