js特效代码显示时钟(js特效代码显示时钟不对)

http://www.itjxue.com  2023-02-05 21:52  来源:未知  点击次数: 

如何使用JS实现一个简易数码时钟

设计思路:

数码时钟即通过图片数字来显示当前时间,需要显示的图片的URL根据时间变化而变化。

a、获取当前时间Date()并将当前时间信息转换为一个6位的字符串;

b、根据时间字符串每个位置对应的数字来更改图片的src的值,从而实现更换显示图片;

构建HTML基础并添加样式。

??div?id="div1"

????img?src='./数字时钟(1)_files/0.jpg'

????img?src='./数字时钟(1)_files/0.jpg'

??????:

??????img?src='./数字时钟(1)_files/0.jpg'

??????img?src='./数字时钟(1)_files/0.jpg'

??????:

????img?src='./数字时钟(1)_files/0.jpg'

?????img?src='./数字时钟(1)_files/0.jpg'

?/div

style样式

#div1{

????width:50%;

????margin:300px?auto;

????background:black;

????}

获取图片元素以及当前时间:

????var?oDiv=document.getElementById('div1');

????var?aImg=oDiv.getElementsByTagName('img');

????var?oDate=new?Date();

????var?str=oDate.getHours()+oDate.getMinutes()+oDate.getSeconds();

这里出现两个问题

1、oDate.getHours()返回的都是数字,这样编写为数字相加,而非字符串相加。

2、当获取的值为一位数时,会造成字符串的个数少于6,不满足初始设计要求。

解决以上两个问题的代码解决方案:

代码

var?oDiv=document.getElementById('div1');

var?aImg=oDiv.getElementsByTagName('img');

var?oDate=new?Date();

function?twoDigitsStr()

{

if(n10)

{return?'0'+n;}

else

{return?''+n;}

}

var?str=twoDigitsStr(oDate.getHours())+twoDigitsStr(oDate.getMinutes())+twoDigitsStr(oDate.getSeconds());

设置所有图片的src值:

for(var?i=0;iaImg.length;i++)

????{

????????aImg[i].src="./数字时钟(1)_files/"+str.charAt(i)+".jpg";

????}

通过setInterval()来实现每隔1秒进行重新获取当前时间以及图片src值:

代码

????var?oDiv=document.getElementById('div1');

????var?aImg=oDiv.getElementsByTagName('img');

????

????setInterval(function?tick()

????{

????????var?oDate=new?Date();

????????var?str=twoDigitsStr(oDate.getHours())+twoDigitsStr(oDate.getMinutes())+twoDigitsStr(oDate.getSeconds());

????????for(var?i=0;iaImg.length;i++)

????????{

????????????aImg[i].src="./数字时钟(1)_files/"+str.charAt(i)+".jpg";

????????}

????}

????

????,1000);

但是还是有一个问题,网页在打开的初始阶段,显示时间为00:00:00,这是因为定时器有个特性,当定时器被打开后,不会立刻执行里面的函数,而是在1秒后执行。解决代码:

var?oDiv=document.getElementById('div1');

var?aImg=oDiv.getElementsByTagName('img');

function?tick()

{var?oDate=new?Date();

????????var?str=twoDigitsStr(oDate.getHours())+twoDigitsStr(oDate.getMinutes())+twoDigitsStr(oDate.getSeconds());

????????for(var?i=0;iaImg.length;i++)

????????{

????????????aImg[i].src="./数字时钟(1)_files/"+str.charAt(i)+".jpg";

????????}

????}

????????

????setInterval(tick,1000);

????tick();

问题:代码setInterval(tick,1000);中函数tick没有带括号,那么JS中函数带括号与不带括号有什么区别?

完整的数码时钟制作JS代码为:

function?twoDigitsStr(n)

????{

????????if(n10)

????????{return?'0'+n;}

????????else

????????{return?''+n;}

????}

window.onload=function()

{

????var?oDiv=document.getElementById('div1');

????var?aImg=oDiv.getElementsByTagName('img');

????function?tick()

????{var?oDate=new?Date();

????????var?str=twoDigitsStr(oDate.getHours())+twoDigitsStr(oDate.getMinutes())+twoDigitsStr(oDate.getSeconds());

????????for(var?i=0;iaImg.length;i++)

????????{

????????????aImg[i].src="./数字时钟(1)_files/"+str.charAt(i)+".jpg";

????????}

????}

????????

????setInterval(tick,1000);

????tick();?

}

JAVASCRIPT怎么样制作动态时间显示,给我代码也可以,谢谢啦

html

title/title

head

script language="JavaScript"

var timerID=null;

var timerRunning=false;

file://启动

function startclock()

{

stopclock();

time();

}

file://停止

function stopclock()

{

if(timerRunning)

clearTimeout(timerID);

timerRunning=false;

}

file://实现模块

function time()

{

file://使用new操作符创建时间对象

var now=new Date();

var yr=now.getYear();

var mName=now.getMonth()+1;

var dayNr=((now.getDate()10)?"0":"")+now.getDate();

var dName=now.getDay()+1;

var ampm=(now.getHours()=12)?"下午":"上午"

var hours=now.getHours();

hours=((hours12)?hours-12:hours);

var minutes=((now.getMinutes()10)?":0":":")+now.getMinutes();

var seconds=((now.getSeconds()10)?":0":":")+now.getSeconds();

file://判断今天是星期几

if(dName==1)Day="Sunday";

if(dName==1)Day="Monday";

if(dName==3)Day="Tuesday";

if(dName==4)Day="Wednesday";

if(dName==5)Day="Thursday";

if(dName==6)Day="Friday";

if(dName==7)Day="Saturday";

file://判断月份

if(mName==1)Month="Janauary";

if(mName==2)Month="February";

if(mName==3)Month="March";

if(mName==4)Month="April";

if(mName==5)Month="May";

if(mName==6)Month="June";

if(mName==7)Month="July";

if(mName==8)Month="August";

if(mName==9)Month="September";

if(mName=10)Month="October";

if(mName=11)Month="November";

if(mName=12)Month="December";

var DayOfWeek=(""+Day+"");

var MonthDayYear=(""+Month+","+dayNr+","+yr+"");

document.forms[0].elements[0].value=MonthDayYear;

var TimeValue=(""+hours+minutes+seconds+""+ampm);

document.forms[0].elements[1].value=TimeValue;

timerID=setTimeout("time()",1000);

timerRunning=true;

}

/script

/head

body onLoad="startclock()"

form

br

table border=0 widtn=400

tr

TD align="center"input type="button" title="停止" onclick="stopclock()"

TD align="center"input type="button" title="继续" onclick="startclock()"

/tr

/table

/form

/html

代码二

script

//定义时钟显示的函数

function displayTime()

{

var today = new Date(); // 定义日期对象

var hours = today.getHours();

var minutes = today.getMinutes();

var seconds = today.getSeconds();

// 从日期对象中中获得时间信息

minutes = fixTime(minutes);

seconds = fixTime(seconds); // 引入fixTime()函数,使分和秒可以正常显示,对于小于10的数字则在该数字前加一个0

//将时间字符串组合在一起并写出

var the_time = hours + ":" + minutes + ":" + seconds;

window.document.the_form.the_text.value = the_time; //把表格的值重新写一遍,相当于刷新时间

the_timeout= setTimeout('displayTime();',500); //每半秒钟执行一次该函数,即500毫秒

}

function fixTime(the_time)

{

if (the_time 10)

{

the_time = "0" + the_time;

}

return the_time;

}

/script

附 一个更酷的时钟原代码

html

body bgcolor=#3A6EA5

pb用JavaScript编程实现钟表特效/b/p

请用查看源代码方式阅读所有程序代码。

script language="JavaScript"

!--

dCol='#22ff';

fCol='#e09000';

sCol='00ff00';

mCol='ff0000';

hCol='ffff00';

ClockHeight=40;

ClockWidth=40;

ClockFromMouseY=0;

ClockFromMouseX=100;

d=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");

m=new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");

date=new Date();

day=date.getDate();

year=date.getYear();

if (year 2000) year=year+1900;

TodaysDate="年 "+m[date.getMonth()]+day+"日 "+d[date.getDay()]+" "+year;

D=TodaysDate.split('');

H='...';

H=H.split('');

M='....';

M=M.split('');

S='.....';

S=S.split('');

Face='1 2 3 4 5 6 7 8 9 10 11 12';

font='Arial';

size=1;

speed=0.9;

ns=(document.layers);

ie=(document.all);

Face=Face.split(' ');

n=Face.length;

a=size*10;

ymouse=0;

xmouse=0;

scrll=0;

props="font face="+font+" size="+size+" color="+fCol+"";

props2="font face="+font+" size="+size+" color="+dCol+"";

Split=360/n;

Dsplit=360/D.length;

HandHeight=ClockHeight/4.5

HandWidth=ClockWidth/4.5

HandY=-7;

HandX=-2.5;

scrll=0;

step=0.06;

currStep=0;

y=new Array();x=new Array();Y=new Array();X=new Array();

for (i=0; i n; i++){y[i]=0;x[i]=0;Y[i]=0;X[i]=0}

Dy=new Array();Dx=new Array();DY=new Array();DX=new Array();

for (i=0; i D.length; i++){Dy[i]=0;Dx[i]=0;DY[i]=0;DX[i]=0}

if (ns){

for (i=0; i D.length; i++)

document.write('layer name="nsDate'+i+'" top=0 left=0 height='+a+' width='+a+'center'+props2+D[i]+'/font/center/layer');

for (i=0; i n; i++)

document.write('layer name="nsFace'+i+'" top=0 left=0 height='+a+' width='+a+'center'+props+Face[i]+'/font/center/layer');

for (i=0; i S.length; i++)

document.write('layer name=nsSeconds'+i+' top=0 left=0 width=15 height=15font face=Arial size=3 color='+sCol+'centerb'+S[i]+'/b/center/font/layer');

for (i=0; i M.length; i++)

document.write('layer name=nsMinutes'+i+' top=0 left=0 width=15 height=15font face=Arial size=3 color='+mCol+'centerb'+M[i]+'/b/center/font/layer');

for (i=0; i H.length; i++)

document.write('layer name=nsHours'+i+' top=0 left=0 width=15 height=15font face=Arial size=3 color='+hCol+'centerb'+H[i]+'/b/center/font/layer');

}

if (ie) {

document.write('div id="Od" style="position:absolute;top:0px;left:0px"div style="position:relative"');

for (i=0; i D.length; i++)

document.write('div id="ieDate" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text-align:center"'+props2+D[i]+'/font/div');

document.write('/div/div');

document.write('div id="Of" style="position:absolute;top:0px;left:0px"div style="position:relative"');

for (i=0; i n; i++)

document.write('div id="ieFace" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text-align:center"'+props+Face[i]+'/font/div');

document.write('/div/div');

document.write('div id="Oh" style="position:absolute;top:0px;left:0px"div style="position:relative"');

for (i=0; i H.length; i++)

document.write('div id="ieHours" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+hCol+';text-align:center;font-weight:bold"'+H[i]+'/div');

document.write('/div/div');

document.write('div id="Om" style="position:absolute;top:0px;left:0px"div style="position:relative"');

for (i=0; i M.length; i++)

document.write('div id="ieMinutes" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+mCol+';text-align:center;font-weight:bold"'+M[i]+'/div');

document.write('/div/div')

document.write('div id="Os" style="position:absolute;top:0px;left:0px"div style="position:relative"');

for (i=0; i S.length; i++)

document.write('div id="ieSeconds" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+sCol+';text-align:center;font-weight:bold"'+S[i]+'/div');

document.write('/div/div')

}

(ns)?window.captureEvents(Event.MOUSEMOVE):0;

function Mouse(evnt){

ymouse = (ns)?evnt.pageY+ClockFromMouseY-(window.pageYOffset):event.y+ClockFromMouseY;

xmouse = (ns)?evnt.pageX+ClockFromMouseX:event.x+ClockFromMouseX;

}

(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;

function ClockAndAssign(){

time = new Date ();

secs = time.getSeconds();

sec = -1.57 + Math.PI * secs/30;

mins = time.getMinutes();

min = -1.57 + Math.PI * mins/30;

hr = time.getHours();

hrs = -1.575 + Math.PI * hr/6+Math.PI*parseInt(time.getMinutes())/360;

if (ie){

Od.style.top=window.document.body.scrollTop;

Of.style.top=window.document.body.scrollTop;

Oh.style.top=window.document.body.scrollTop;

Om.style.top=window.document.body.scrollTop;

Os.style.top=window.document.body.scrollTop;

}

for (i=0; i n; i++){

var F=(ns)?document.layers['nsFace'+i]:ieFace[i].style;

F.top=y[i] + ClockHeight*Math.sin(-1.0471 + i*Split*Math.PI/180)+scrll;

F.left=x[i] + ClockWidth*Math.cos(-1.0471 + i*Split*Math.PI/180);

}

for (i=0; i H.length; i++){

var HL=(ns)?document.layers['nsHours'+i]:ieHours[i].style;

HL.top=y[i]+HandY+(i*HandHeight)*Math.sin(hrs)+scrll;

HL.left=x[i]+HandX+(i*HandWidth)*Math.cos(hrs);

}

for (i=0; i M.length; i++){

var ML=(ns)?document.layers['nsMinutes'+i]:ieMinutes[i].style;

ML.top=y[i]+HandY+(i*HandHeight)*Math.sin(min)+scrll;

ML.left=x[i]+HandX+(i*HandWidth)*Math.cos(min);

}

for (i=0; i S.length; i++){

var SL=(ns)?document.layers['nsSeconds'+i]:ieSeconds[i].style;

SL.top=y[i]+HandY+(i*HandHeight)*Math.sin(sec)+scrll;

SL.left=x[i]+HandX+(i*HandWidth)*Math.cos(sec);

}

for (i=0; i D.length; i++){

var DL=(ns)?document.layers['nsDate'+i]:ieDate[i].style;

DL.top=Dy[i] + ClockHeight*1.5*Math.sin(currStep+i*Dsplit*Math.PI/180)+scrll;

DL.left=Dx[i] + ClockWidth*1.5*Math.cos(currStep+i*Dsplit*Math.PI/180);

}

currStep-=step;

}

function Delay(){

scrll=(ns)?window.pageYOffset:0;

Dy[0]=Math.round(DY[0]+=((ymouse)-DY[0])*speed);

Dx[0]=Math.round(DX[0]+=((xmouse)-DX[0])*speed);

for (i=1; i D.length; i++){

Dy[i]=Math.round(DY[i]+=(Dy[i-1]-DY[i])*speed);

Dx[i]=Math.round(DX[i]+=(Dx[i-1]-DX[i])*speed);

}

y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);

x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);

for (i=1; i n; i++){

y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);

x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);

}

ClockAndAssign();

setTimeout('Delay()',50);

}

if (ns||ie)window.onload=Delay;

//--

/script

/body

/html

JS 5秒倒计时的代码怎么写?时间要实时显示在屏幕上的。

!DOCTYPE?html

html?lang="en"

head

meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/

titlejs实现倒计时60秒的简单代码(推荐)/title

script?type="text/javascript"?src="js/jquery.js"/script

/head

body

input?type="button"?id="btn"?value="免费获取验证码"?onclick="settime(this)"?/

script?type="text/javascript"

var?countdown=60;

function?settime(val)?{

if?(countdown?==?0)?{

val.removeAttribute("disabled");

val.value="免费获取验证码";

countdown?=?5;

}?else?{

val.setAttribute("disabled",?true);

val.value="重新发送("?+?countdown?+?")";

countdown--;

setTimeout(function()?{

settime(val)

},1000)

}

}

/script

/body

/html

JavaScript简介

JavaScript 是脚本语言

JavaScript 是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

JavaScript 课外书

如果 JavaScript 教程学习完毕,并且需要更深入地学习这门语言,《JavaScript 高级教程》绝对是您最好的选择。本教程从 JavaScript 的历史开始讲起,直到当前它对 XML 和 Web 服务的支持。

将学习到如何扩展该语言,以使它适应特殊的需求。

还将学到如何使用 JavaScript 创建无缝的客户机 - 服务器通信。

(责任编辑:IT教学网)

更多

推荐网络媒体文章