最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 19:33:53
文档

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

如何使用JS实现一个简易数码时钟:这篇文章主要介绍了关于如何使用JS实现一个简易数码时钟,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 设计思路: 数码时钟即通过图片数字来显示当前时间,需要显示的图片的URL根据时间变化而变化。 a、获取当前时间Date()并将当前时间信
推荐度:
导读如何使用JS实现一个简易数码时钟:这篇文章主要介绍了关于如何使用JS实现一个简易数码时钟,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 设计思路: 数码时钟即通过图片数字来显示当前时间,需要显示的图片的URL根据时间变化而变化。 a、获取当前时间Date()并将当前时间信
 这篇文章主要介绍了关于如何使用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样式

#p1{
 width:50%;
 margin:300px auto;
 background:black;
 }

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

 var op=document.getElementById('p1'); 
 var aImg=op.getElementsByTagName('img'); 
 var oDate=new Date(); 
 var str=oDate.getHours()+oDate.getMinutes()+oDate.getSeconds();

  这里出现两个问题

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

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

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

  var op=document.getElementById('p1');

  var aImg=op.getElementsByTagName('img');

  var oDate=new Date();

  function twoDigitsStr()

  {

  if(n<10)

  {return '0'+n;}

  else  {return ''+n;}

  }

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

  设置所有图片的src值:

for(var i=0;i<aImg.length;i++)
 {
 aImg[i].src="./数字时钟(1)_files/"+str.charAt(i)+".jpg";
 }

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

 var op=document.getElementById('p1'); var aImg=op.getElementsByTagName('img');
 
 setInterval(function tick()
 { var oDate=new Date(); var str=twoDigitsStr(oDate.getHours())+twoDigitsStr(oDate.getMinutes())+twoDigitsStr(oDate.getSeconds()); for(var i=0;i<aImg.length;i++)
 {
 aImg[i].src="./数字时钟(1)_files/"+str.charAt(i)+".jpg";
 }
 }
 
 ,1000);

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

var op=document.getElementById('p1');
var aImg=op.getElementsByTagName('img');
function tick()
{
var oDate=new Date(); 
var str=twoDigitsStr(oDate.getHours())+twoDigitsStr(oDate.getMinutes())+twoDigitsStr(oDate.getSeconds()); 
for(var i=0;i<aImg.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(n<10)
 {return '0'+n;} else
 {return ''+n;}
 }
window.onload=function()
{ var op=document.getElementById('p1'); 
var aImg=op.getElementsByTagName('img'); 
function tick()
 {var oDate=new Date(); 
 var str=twoDigitsStr(oDate.getHours())+twoDigitsStr(oDate.getMinutes())+twoDigitsStr(oDate.getSeconds()); for(var i=0;i<aImg.length;i++)
 {
 aImg[i].src="./数字时钟(1)_files/"+str.charAt(i)+".jpg";
 }
 }
 
 setInterval(tick,1000);
 tick(); 
}

  当然,如果有好的创意图片,可以将上述数字图片进行替换,生成各种炫目的数码时钟效果。譬如:

文档

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

如何使用JS实现一个简易数码时钟:这篇文章主要介绍了关于如何使用JS实现一个简易数码时钟,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 设计思路: 数码时钟即通过图片数字来显示当前时间,需要显示的图片的URL根据时间变化而变化。 a、获取当前时间Date()并将当前时间信
推荐度:
标签: 简单 js 时钟
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top