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>

效果:

二、将数字转换为图片

方法一:

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

用到图片:

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

本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/4989059.html有问题欢迎与我讨论,共同进步。

时间: 2024-08-08 05:20:55

jquery图片时钟的相关文章

jquery版时钟(css3实现)

做时钟的主要原因是因为喜欢,觉得它好看(本人对特效有点爱不释手……).做的时候感觉工程量会有点大,做着做着发现实现起来其实并不难,只要理清思绪,其实还蛮简单的(我制作东西喜欢整体方向制定好,然后边做边找感觉,最后可能会有不一样的惊喜). 我这里采用了时钟的背景图片,第一我觉得图片好看,第二我觉得应该先实现主要的功能再考虑画图(总归来说就是有点懒,哈哈~).好了,废话不多说啦,进入正题. 一.图片演示 二.html代码 <div class="box"> <div cl

jQuery图片切换插件jquery.cycle.js

Cycle是一个很棒的jQuery图片切换插件,提供了很好的功能来帮助大家更简单的使用插件的幻灯功能 下载cycle插件并引入,此时,注意把引入它的代码放在引入jQuery主文件之后. <head> <script type="text/javascript" src="js/jquery-1.8.0.min.js"></script> <script type="text/javascript" src

jQuery图片放大

jQuery图片放大 <!DOCTYPE HTML> <html> <head> <title></title> <script src="jquery-1.7.1.min.js"></script> <style> #d{ width:300px; height:300px; background-color:pink; color:white; display:none; positio

jQuery图片插件自动轮播原理解析

经常看到项目要用到图片轮播效果,一般的操作流程都是先到网上找一个好看的JQuery图片轮播插件,然后看下demo,再配下参数.好了,关机下班回家 其余的就交给插件吧. 是不是感觉有了jQuery,世界变得那么美好呢. 本人最近用的一个插件是 jquery.carousel.js,官方网站是:http://richardscarrott.co.uk/posts/view/jquery-carousel-plugin 下面,我们来讨论一下图片轮播原理. 首先来个简单的demo 效果图如下: 这是个导

十个jQuery图片画廊插件推荐

jQuery的画廊插件可以将分组图像和多媒体资料转成类似Flash的图像或照片.当幻灯片已经成为网站的重要组成部分,jQuery的重要性不能被忽视.下面为你介绍了10个最有美感,创新性和创造性的jQuery图片画廊插件: 1.How to Create a Simple Slideshow using Mootools / JQuery 当我们想要在有限的屏幕空间展示很多内容,这要使用到幻灯片.幻灯片是最佳的可以展现大量的信息的方式.在这篇文章中我将展示使用MooTools / Jquery做出

jquery 图片上传本地预览V1.2

基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari 代码进行小小的压缩 如果看源码 自己解压就行了 版本已升级  修复jquery版本问题  支持任意jquery版本 代码在线演示地址:http://jquery.decadework.com/ 插件下载地址:http://jquery.decadework.com/plugin/uploadPreview.zip 标签: <无> 代码片段(3)[全屏查看所有代码] 1. [代码]uploadPrev

分享基于jQuery的时钟特效【qhttl.com】

基于jQuery的时钟特效,时钟特效,主要使用jquery+html5完成特效,具体解析详解Demo 下载地址:基于jQuery的时钟特效 预览Demo:http://www.qhttl.com/content/view/2014/07/17/jiaoben61/jiaoben61/index.html 先上图: 分享基于jQuery的时钟特效[qhttl.com],布布扣,bubuko.com

jQuery图片旋转展示收缩效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jquery 图片处理插件

JQuery Jcrop 实现图片裁剪的插件 the jQuery Image Cropping Plugin jquery 图片处理插件,布布扣,bubuko.com