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 相关文章推荐
jQuery中(function(){})()执行顺序的理解
Mar 05 Javascript
JS中判断null、undefined与NaN的方法
Mar 26 Javascript
JavaScript获取并更改input标签name属性的方法
Jul 02 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
May 24 Javascript
JS实现碰撞检测的方法分析
Jan 19 Javascript
layui select动态添加option的实例
Mar 07 Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 Javascript
微信小程序实现带缩略图轮播效果
Nov 04 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
May 21 Javascript
vue下axios拦截器token刷新机制的实例代码
Jan 17 Javascript
详解Vue的mixin策略
Nov 19 Vue.js
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
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
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
js切换div css注意的细节
2012/12/10 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
document.write的几点使用心得
2014/05/14 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python中global用法实例分析
2015/04/30 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
Python3中的json模块使用详解
2018/05/05 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
canvas如何实现多张图片编辑的图片编辑器
2020/03/10 HTML / CSS
党员一句话承诺大全
2014/03/28 职场文书
财务情况说明书范文
2014/05/06 职场文书
自查自纠整改报告
2014/11/06 职场文书
还款承诺书范本
2015/01/20 职场文书
学术会议邀请函
2015/01/30 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
2016年寒假见闻
2015/10/10 职场文书
Golang的继承模拟实例
2021/06/30 Golang
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript
Hive常用日期格式转换语法
2022/06/25 数据库