首页 > 编程知识 正文

钟表js代码,js数字时钟代码

时间:2023-12-27 22:26:38 阅读:324628 作者:RFJN

本文目录一览:

网页上不断监听当前时间,然后判断时间段的js代码要怎么写?

写一个定时器就好了,window.setInterval(function () { }, 1000);

每一秒执行一次function(){}

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实现一个简易数码时钟

设计思路:

数码时钟即通过图片数字来显示当前时间,需要显示的图片的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(); 

}

js Canvas实现的日历时钟案例有哪些

一、.获取上下文对象 

var cxt = document.getElementById(‘元素名’).getContect(‘2d’); 

IE8或更早的浏览器不支持元素。

二、 drawClock() – 实现画时钟 

1. clearRect() 清空给定矩形内的指定像素。 

context.clearRect(x,y,width,height);

属性 |  值

-----|------------

x,y | 要清除的矩形左上角点的(x,y)坐标

width,height| 要清除的矩形宽度和高度,单位为像素12345

2.new Date() — 得到系统时间

var sec = now.getSeconds();  var min = now.getMinutes();  var hour = now.getHours();  123

3.画时钟的形状

cxt.beginPath();  cxt.lineWidth = 10;  cxt.strokeStyle = "blue";  cxt.arc(550, 310, 300, 0, 360, false);  cxt.closePath();  cxt.stroke(); 123456

beginPath()的作用是canvas的绘制方法,都会以上一次beginPath之后的所有路径为基础进行绘制。

closepath()是关闭路径,而不是结束路径,它会试图从当前路径的终点连一条路径到七、起点,让整个路径闭合起来。

cxt.lineWidth() : 画笔的宽度

cxt.strokeStyle() : 设置或返回用于笔触的颜色、渐变或模式。

属性值:color 指示绘图笔触颜色的 CSS 颜色值。默认值是 #000000。

gradient 用于填充绘图的渐变对象(线性或放射性)

pattern 用于创建 pattern 笔触的 pattern 对象

stroke ()绘制已定义的路径

arc() 方法创建弧/曲线(用于创建圆或部分圆)。如需通过 arc() 来创建圆,请把起始角设置为 0,结束角设置为 2*Math.PI。 

context.arc(x,y,r,sAngle,eAngle,counterclockwise);

参数

描述

x    圆的中心的 x 坐标。  

y    圆的中心的 y 坐标。  

r    圆的半径。  

sAngle    起始角,以弧度计。(弧的圆形的三点钟位置是 0 度)。  

eAngle    结束角,以弧度计。  

counterclockwise    可选。规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。  

4)drawScale — 自定义函数画刻度

function drawScale(size, width, color, value, startx, starty, endx, endy){  

   for(var i = 0; i size; i++){  

       drawPointer(width, color, value, i, startx, starty, endx, endy);  

   }  }  12345

5. 画时钟刻度依托点

function drawPointer(width, color, value, angle, startx, starty, endx, endy){  

   cxt.save();                 //先保存当前画布  

   cxt.lineWidth = width;      //设置画笔的宽度  

   cxt.strokeStyle = color;    //设置画笔的颜色  

   cxt.translate(550, 310);    //重置异次元空间的原点坐标  

   cxt.rotate(value * angle * Math.PI / 180);  //设置旋转的角度,参数是弧度  

   cxt.beginPath();  

   cxt.moveTo(startx, starty);  

   cxt.lineTo(endx, endy);  

   cxt.closePath();            //先闭合路径,再画线  

   cxt.stroke();               //开始画线  

   cxt.restore();              //将旋转后的线段返回给画布  }  12345678910111213

translate() 方法重新映射画布上的 (0,0) 位置。

-

JS代码如下:

//获取上下文文档对象  var clock = document.getElementById('clock');  

var cxt = clock.getContext('2d');  

//画指针  function drawPointer(width, color, value, angle, startx, starty, endx, endy){  

   cxt.save();                 //先保存当前画布  

   cxt.lineWidth = width;      //设置画笔的宽度  

   cxt.strokeStyle = color;    //设置画笔的颜色  

   cxt.translate(550, 310);    //重置异次元空间的原点坐标  

   cxt.rotate(value * angle * Math.PI / 180);  //设置旋转的角度,参数是弧度  

   cxt.beginPath();  

   cxt.moveTo(startx, starty);  

   cxt.lineTo(endx, endy);  

   cxt.closePath();            //先闭合路径,再画线  

   cxt.stroke();               //开始画线  

   cxt.restore();              //将旋转后的线段返回给画布  }  

//画刻度  function drawScale(size, width, color, value, startx, starty, endx, endy){  

   for(var i = 0; i size; i++){  

       drawPointer(width, color, value, i, startx, starty, endx, endy);  

   }  

}  

//为表盘的中心填充颜色  function drawFill(){  

   cxt.save();  

   cxt.beginPath();  

   cxt.arc(550, 310, 7, 0, 360, false);  

   cxt.closePath();  

   cxt.fillStyle = "red";  

   cxt.fill();  

   cxt.restore();  

}  

//画时钟  function drawClock(){  

   cxt.clearRect(0, 0, 1350, 620);  //清空整个画布  

   var now = new Date();            //获取系统时间,取出时,分,秒  

   var sec = now.getSeconds();  

   var min = now.getMinutes();  

   var hour = now.getHours();  

   min += sec / 60;  

   hour += min / 60;  

   if(hour 12) hour -= 12;  

   cxt.beginPath();  

   cxt.lineWidth = 10;  

   cxt.strokeStyle = "blue";  

   cxt.arc(550, 310, 300, 0, 360, false);  

   cxt.closePath();  

   cxt.stroke();  

   drawScale(12, 7, "pink", 30, 0, -280, 0, -260);      //画时刻度  

   drawScale(60, 5, "pink", 6,  0, -280, 0, -270);      //画分刻度  

   drawPointer(7, "purple", hour, 30, 0, 12, 0, -210);  //画时针  

   drawPointer(5, "yellow", min, 6, 0, 15, 0, -240);    //画分针  

   drawPointer(4, "red", sec, 6, 0, 17, 0, -250);       //画秒针  

   //细化秒针,为秒针加箭头  

   drawPointer(3, "red", sec, 6, -7, -235, 0, -255);  

   drawPointer(3, "red", sec, 6, 7, -235, 0, -255);  

   drawFill();  

}  

drawClock();  

setInterval(drawClock, 1000);   //setInterval()方法中表示每隔1000ms,就执行drawClock一次  1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

前端js中设置一个会转动的时钟,关于时钟转动角度

因为30*h是一个数,然后两个加号是把这个数变成字符串连接起来

Bar.style.transform接受的是如"retate(30deg)"的字符串,所以不能有空格

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。