百度前端技术学院-基础-day25-27


倒数开始 滴答滴 滴答滴

task1

题目:

我们现在来做一个最简单的时钟,通过小练习来学习 Date,复习定时,然后再练习一下函数的封装
具体需求如下:

  • 在页面中显示当前日期及时间,按秒更新
  • 格式为 YYYY 年 MM 月 DD 日 星期 D HH:mm:ss
  • 注意位数的补齐,比如:
    -- 假设时间为2008年10月10日星期一的12点12分12秒,显示2008年10月10日星期一 12:12:12
    -- 假设时间为2008年1月1日星期一的3点2分2秒,显示2008年01月01日星期一 03:02:02

编码过程中,我们希望你注意对函数的封装,尽量让一个函数就做一个事情,而不要把所有的功能、代码揉在一起:

      • 封装一个函数,来根据某个日期返回这一天是星期几
      • 封装一个函数,把月、日、小时等出现个位数的情况前面补充0,补充为两位,比如1变为01
      • 封装一个函数,把最后的日期时间,按照要求的格式进行包装
      • 可能不止上面这些,尽可能地进行功能的解耦和拆解

预览

代码


task2

完成上面需求后,现在需求做一些小的变更

  • 输出格式变为:2008-10-10 Monday 07:10:30 PM

 把上面代码中函数简单改一下即可:

预览

 1 function showDate(){
 2       var disDate;
 3       disDate = today.getFullYear() + '-';
 4       disDate += today.getMonth() + '-';
 5       disDate += today.getDate() + ' ';
 6       return disDate;
 7     }
 8 
 9 function showDay(){
10       var week = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
11       return week[today.getDay()];
12     }
13 
14 function showTime(){
15       var h,m,s,half;
16       h = today.getHours();
17       if (h>12){
18         h -= 12;
19         half = 'PM'
20       }else{
21         half = '

task3

题目:

有一堆Select用于选择日期和时间,在选择后,实时在 id 为 result-wrapper 的 p 标签中显示所选时间和当前时间的差值。

 1 
 8 
 9 
15 
16 
22 
23 
29 
30 
36 
37 
43 
44 

现在距离 2001年1月1日星期X HH:MM:SS 还有 X 天 X 小时 X 分 X 秒

  • 使用上方的HTML结构(可以根据需要自行微调)为基础编写JavaScript代码
  • 当变更任何一个select选择时,更新 result-wrapper 的内容
  • 当所选时间早于现在时间时,文案为 现在距离 "所选时间" 已经过去 xxxx
  • 当所选时间晚于现在时间时,文案为 现在距离 "所选时间" 还有 xxxx
  • 注意当前时间经过所选时间时候的文案变化
  • 注意选择不同月份的时候,日期的可选范围不一样,比如1月可以选31天,11月只有30天,注意闰年
  • 同样,需要注意,通过优雅的函数封装,使得代码更加可读且可维护

预览

代码