标签:style io os ar for sp div on cti
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;
}
标签:style io os ar for sp div on cti
原文地址:http://www.cnblogs.com/yemaxu/p/4039133.html