zoukankan      html  css  js  c++  java
  • SetInterval

    var timer=null;
    var aNow=null;

    var g_aImg=[];
    var g_oImgWeek=null;
    var g_aWeekName=
    [
    "one",
    "two",
    "three",
    "four",
    "five",
    "six",
    "seven"
    ];

    window.onload=function ()
    {
    var oDiv=document.getElementById('clock');
    var aImg=oDiv.getElementsByTagName('img');
    var i=0;

    for(i=0;i<aImg.length;i++)
    {
    if(!isNaN(parseInt(aImg[i].alt)))
    {
    g_aImg.push(aImg[i]);
    }
    }

    g_aImg.push(aImg[aImg.length-2]);

    aNow=getTimeArray();

    for(i=0;i<g_aImg.length;i++)
    {
    g_aImg[i].now=-1;
    }

    checkSwitch();

    setInterval(checkSwitch, 1000);
    checkSwitch();
    }

    var g_iImgHeigth=0;
    var g_iTarget=0;
    var g_iMax=0;

    function checkSwitch()
    {
    var i=0;

    aNow=getTimeArray();

    g_imgHeigth=g_aImg[0].offsetHeight;
    g_iTarget=-g_imgHeigth;
    g_iMax=g_imgHeigth;

    timer=setInterval(doSwitch, 30);
    }

    function doSwitch()
    {
    var bEnd=false;
    var i=0;

    g_imgHeigth-=5;
    if(g_imgHeigth<=g_iTarget)
    {
    g_imgHeigth=g_iTarget;
    bEnd=true;
    }

    for(i=0;i<g_aImg.length;i++)
    {
    if(g_aImg[i].now!=aNow[i])
    {
    if(g_imgHeigth>0)
    {
    g_aImg[i].style.height=g_imgHeigth+'px';
    g_aImg[i].style.top=-(g_iMax-g_imgHeigth)/2+'px';
    }
    else
    {
    if(i==g_aImg.length-1)
    {
    g_aImg[i].src="images/" + g_aWeekName[aNow[i]] + ".png";
    }
    else
    {
    g_aImg[i].src="images/" + aNow[i] + ".png";
    }

    g_aImg[i].style.height=-g_imgHeigth+'px';
    g_aImg[i].style.top=-(g_iMax+g_imgHeigth)/2+'px';
    }
    }
    }

    if(bEnd)
    {
    for(i=0;i<g_aImg.length;i++)
    {
    g_aImg[i].now=aNow[i];
    }

    clearInterval(timer);
    }
    }

    function toDouble(iNum)
    {
    if(iNum<10)
    {
    return '0'+iNum;
    }
    else
    {
    return ''+iNum;
    }
    }

    function getTimeArray()
    {
    var oDate=new Date();
    var aNumber=[];

    var iYear=oDate.getYear();
    var iMonth=oDate.getMonth();
    var iDay=oDate.getDate();
    var iHour=oDate.getHours();
    var iMin=oDate.getMinutes();
    var iSec=oDate.getSeconds();
    var iWeek=(oDate.getDay()+6)%7;

    if(iYear<1900)
    {
    iYear+=1900;
    }

    var str=''+(iYear)+toDouble(iMonth+1)+toDouble(iDay)+toDouble(iHour)+toDouble(iMin)+toDouble(iSec)+iWeek;
    var aChar=str.split('');

    for(i=0;i<aChar.length;i++)
    {
    aNumber[i]=parseInt(aChar[i]);
    }

    return aNumber;
    }

  • 相关阅读:
    计算机科学与软件工程的区别
    中文编程对中国程序员是一个“银弹”吗?
    CocoaPods的使用心得
    初学 Swift (实现加减乘除功能和函数的基本类型)
    error itms-90096?苹果提交二进制文件时,报这个错(解决方案)
    因为年轻,所以拼搏
    [转载]C#中的interface abstract和virtual
    一个简单的.NET MVC实例
    Unity3d + Jenkins自动构建IOS篇遇到的问题。
    BZOJ1005: [HNOI2008]明明的烦恼
  • 原文地址:https://www.cnblogs.com/yemaxu/p/4039133.html
Copyright © 2011-2022 走看看