jquery制作图片时钟特效


Posted in Javascript onMarch 30, 2020

本文实例为大家分享了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>

效果:

jquery制作图片时钟特效

二、将数字转换为图片

方法一:

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

用到图片:

jquery制作图片时钟特效

写一个函数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>

jquery制作图片时钟特效

方法二:【不适用】

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

本方法操作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>

更多JavaScript时钟特效点击查看:JavaScript时钟特效专题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js判断浏览器是否是IE的比较好的办法
May 08 Javascript
JS完成代码前最好对其做5件事
Apr 07 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
Jun 05 Javascript
JavaScript中的Function函数
Aug 27 Javascript
jQuery多级手风琴菜单实例讲解
Oct 22 Javascript
AngularJS Controller作用域
Jan 09 Javascript
js数字舍入误差以及解决方法(必看篇)
Feb 28 Javascript
前端常见跨域解决方案(全)
Sep 19 Javascript
webpack打包js的方法
Mar 12 Javascript
vue基于两个计算属性实现选中和全选功能示例
Feb 08 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
Oct 20 Javascript
jQuery实现Tab选项卡切换效果简单演示
Nov 23 #Javascript
JS鼠标拖拽实例分析
Nov 23 #Javascript
基于jQuery实现简单的折叠菜单效果
Nov 23 #Javascript
jquery无限级联下拉菜单简单实例演示
Nov 23 #Javascript
jquery实现图片放大镜功能
Nov 23 #Javascript
jquery自定义表格样式
Nov 23 #Javascript
jquery实现表单验证简单实例演示
Nov 23 #Javascript
You might like
推荐php模板技术[转]
2007/01/04 PHP
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
简述AngularJS的控制器的使用
2015/06/16 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
2016/09/17 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Django Admin实现上传图片校验功能
2016/03/06 Python
Python函数式编程
2017/07/20 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
用pycharm开发django项目示例代码
2018/10/24 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
学校火灾防控方案
2014/06/09 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
客户答谢会活动方案
2014/08/31 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
创业计划书之熟食店
2019/10/16 职场文书