倒数开始 滴答滴 滴答滴

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 <select id="year-select">
2 <option value="2000">2000</option>
3 <option value="2001">2001</option>
4 <option value="2002">2002</option>
5 ……
6 <option value="2032">2002</option>
7 </select>
8
9 <select id="month-select">
10 <option value="1">1</option>
11 <option value="2">2</option>
12 ……
13 <option value="12">12</option>
14 </select>
15
16 <select id="day-select">
17 <option value="1">1</option>
18 <option value="2">2</option>
19 ……
20 <option value="31">31</option>
21 </select>
22
23 <select id="hour-select">
24 <option value="0">00</option>
25 <option value="1">01</option>
26 ……
27 <option value="23">23</option>
28 </select>
29
30 <select id="minite-select">
31 <option value="0">0</option>
32 <option value="1">1</option>
33 ……
34 <option>59</option>
35 </select>
36
37 <select id="second-select">
38 <option value="0">0</option>
39 <option value="1">1</option>
40 ……
41 <option>59</option>
42 </select>
43
44 <p id="result-wrapper">现在距离 2001年1月1日星期X HH:MM:SS 还有 X 天 X 小时 X 分 X 秒</p>
  • 使用上方的HTML结构(可以根据需要自行微调)为基础编写JavaScript代码
  • 当变更任何一个select选择时,更新 result-wrapper 的内容
  • 当所选时间早于现在时间时,文案为 现在距离 "所选时间" 已经过去 xxxx
  • 当所选时间晚于现在时间时,文案为 现在距离 "所选时间" 还有 xxxx
  • 注意当前时间经过所选时间时候的文案变化
  • 注意选择不同月份的时候,日期的可选范围不一样,比如1月可以选31天,11月只有30天,注意闰年
  • 同样,需要注意,通过优雅的函数封装,使得代码更加可读且可维护

预览

代码

百度前端技术学院-基础-day25-27的更多相关文章

  1. 百度前端技术学院-基础-day1

    2020.9.14 今天我开始在百度前端技术学院学习基础课程. 先立一个Flag,希望我能在30天之内学完前四十天的课程,后续课程再一天一节. 第一天的内容主要是提供了很多基础学习的网页,比如W3sc ...

  2. 百度前端技术学院-基础-day2

    2020.9.15 今天是学习前端基础技术的第二天,今天制作了一个在线简历,纯html的那种.帮助我复习了以前的基础知识,也增加了新的知识点,比如制作列表可以用fieldset来整合数据. 我的在线简 ...

  3. 百度前端技术学院-基础-day20-21

    第二十到第二十一天:让你和页面对话 task1 控制元素的显示及隐藏 实现以下功能: 当用户选择了 School 的单选框时,显示 School 的下拉选项,隐藏 Company 的下拉选项 当用户选 ...

  4. 百度前端技术学院-基础-day17-18

    JavaScript小练习 task 1 基于上一个任务中,关于加减乘除的任务,加上对于特殊情况的判断,比如判断两个输入框是否都是正常输入了数字类型的内容,比如除法的时候除数是否为0,当判断到输入有异 ...

  5. 百度前端技术学院-基础-day22-24

    第二十二天到第二十四天:JavaScript里面的居民们 task1 题目: <div> <label>Number A:<input id="radio-a& ...

  6. 百度前端技术学院-基础-day7.8

    任务:参考如下设计稿实现HTML页面及CSS样式 代码 点击预览 HTML 1 <!DOCTYPE html> 2 <html lang="en"> 3 & ...

  7. 百度前端技术学院-基础-day3

    2020.9.15 第三天的课程内容,复习了一些CSS的基础属性(果然不用就会忘). 学习了一些新的属性,比如text-shadow.text-indent(还不是很清楚).font-style等等. ...

  8. 百度前端技术学院-基础-day5.6

    今天学习了关于盒模型.浮动等页面布局的方法. 受到同学的启发,顺便学习了flex的布局. 还了解了一些编码的基本规则. 对我接下来的学习帮助很大. 交作业: HTML : https://github ...

  9. 百度前端技术学院(IFE)2016春季学期总结

    今天(5月16日)作为第八个提交者提交了任务五十:RIA微型问卷管理平台 这样一个综合性的大任务,宣告我的IFE春季学期课程学习顺利完成.其实任务五十并不复杂,现在再让我来做,可能一周不到就写出来了, ...

随机推荐

  1. 适用初学者的5种Python数据输入技术

    摘要:数据是数据科学家的基础,因此了解许多加载数据进行分析的方法至关重要.在这里,我们将介绍五种Python数据输入技术,并提供代码示例供您参考. 数据是数据科学家的基础,因此了解许多加载数据进行分析 ...

  2. 利用移动硬盘安装windows7系统

    首先把win7系统镜像的iso文件解压到移动硬盘中 将移动硬盘设置为活动分区 设置活动分区的方法 Diskpart程序实现U盘安装WIN7的方法: 将Win7安装盘中的所有文件拷贝到硬盘文件夹中,我们 ...

  3. Linux——CentOS 7 systemctl和防火墙firewalld命令

    一.防火墙的开启.关闭.禁用命令 (1)设置开机启用防火墙:systemctl enable firewalld.service (2)设置开机禁用防火墙:systemctl disable fire ...

  4. xml格式数据和数组数据互相转换

    数组转换成xml数据 <?php $arr=array( 'username'=>'huahua', 'password'=>'123456', 'number'=>'1588 ...

  5. bWAPP----iFrame Injection

    iFrame Injection 直接上代码 1 <div id="main"> 2 3 <h1>iFrame Injection</h1> 4 ...

  6. 这次齐了!Java面向对象、类的定义、对象的使用,全部帮你搞定

    概述 Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计.开发计算机程序. 这里的对象泛指现实中一切事物,每种事物都具备自 ...

  7. FL Studio进行侧链的三种方式(下)

    在上篇教程中我们了解了在FL Studio中进行侧链的第一种方式,今天我们就来继续带领大家了解进行侧链的另外两种方式. 如何使用 Fruity Peak Controller(果味峰值控制器)在FL ...

  8. 如何在苹果电脑下载器Folx中管理下载列表

    Folx是一款Mas OS专用的下载器,提供了便捷的下载管理.灵活的设置.今天小编准备跟大家聊一聊关于Folx中常见的几种下载管理方式. 一.管理任务状态栏 在Folx下载面板上,可以通过类别查看任务 ...

  9. XML、XSL、XSLT、DTD、XSD的区别

    前言: 在众神的努力之下,js已经可以跨出浏览器走向不同的领域了 也因为这个,对前端工程师的要求也不仅仅是会写写h5页面做交互.前端涉及的领域越来越广,对开发人员对素质能力要求越高. 以前因设备不同导 ...

  10. 循序渐进VUE+Element 前端应用开发(29)--- 高级查询条件的界面设计

    在系统模块中的业务列表展示里面,一般我们都会在列表中放置一些查询条件,如果是表字段不多,大多数情况下,放置的条件有十个八个就可以了,如果是字段很多,而这些条件信息也很关键的时候,就可能放置很多条件,但 ...