一、生成数字时钟

<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. 【转】从MVC到前后端分离

    1. 理解MVC MVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器. 其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(P ...

  2. go语言选择语句 switch case

    根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...

  3. Windows下安装scikit-learn

    Windows下安装scikit-learn 准备工作 Python (>= 2.6 or >= 3.3), Numpy (>= 1.6.1) Scipy (>= 0.9), ...

  4. 部署基于国际版Azure的SharePoint三层架构服务器场

    前言 微软Azure国际版已经很普及了,这里没有用国内版(世纪互联),用的是国际版,当然是由于公司性质的缘故.这里一步步图文的方式,分享给大家创建Azure国际版的SharePoint三层架构的过程, ...

  5. SharePoint 2013 JavaScript 对象判断用户权限

    场 景 近期有个场景,判断当前用户对项目有没有编辑权限,使用JavaScript完成,弄了好久才弄出来,分享一下,有需要的自行扩展吧,具体如下: 代 码 function getPermissions ...

  6. yum源的配置(centos6.5)

    # cd /etc/yum.repos.d/ # mv CentOS-Base.repo CentOS-Base.repo.bak # wget http://mirrors.163.com/.hel ...

  7. 1分钟实现Autodesk Vault登录对话框

      .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courie ...

  8. Android Studio 更换国内源下载依赖库

    我的博客:http://daycoding.com 小小程序猿 由于国内GFW的原因,经常导致android studio 莫名其妙的编译不了,多数原因是由于不能下载依赖库 Gradle支持三种不同的 ...

  9. iOS小型计算器

    // //  ViewController.m //  计算器 //屏幕的宽和高 #define SCREEN_W self.view.frame.size.width #define SCREEN_ ...

  10. Android每次运行项目时重新启动一个新的模拟器的解决办法

    具体解决办法 1.打开任务管理器,结束adb进程 2.此时android console下面会出现错误信息 3.切换到dos下面运行: adb start-server 4.重新运行android项目 ...