6.9 KiB
6.9 KiB
id | challengeType | forumTopicId | title |
---|---|---|---|
bd7158d8c442eddfaeb5bd0f | 3 | 301373 | 构建一个番茄时钟 |
Description
id="break-label"
属性的元素,这个元素的内容应该是一个字符串(例如:"Break Length")。
需求 2:我应该能看到一个具有id="session-label"
属性的元素,这个元素的内容应该是一个字符串(例如:"Session Length")。
需求 3:我应该能看到两个可以点击的元素,他们分别具有如下 id:id="break-decrement"
和id="session-decrement"
。
需求 4:我应该能看到两个可以点击的元素,他们分别具有如下 id:id="break-increment"
和id="session-increment"
。
需求 5:我应该能看到一个具有id="break-length"
属性的元素,这个元素默认展示数值应该为 5(加载后)。
需求 6:我应该能看到一个具有id="session-length"
属性的元素,这个元素默认展示数值应该为 25(加载后)。
需求 7:我应该能看到一个具有id="timer-label"
属性的元素,这个元素包含一个表示当前状态的字符串(例如:"Session")。
需求 8:我应该能看到一个具有id="time-left"
属性的元素。注意:暂停或者运行时,该元素的内容应始终以mm:ss
格式显示(如 25:00)。
需求 9:我应该能看到一个具有id="start_stop"
属性的可点击的元素。
需求 10:我应该能看到一个具有id="reset"
属性的可点击的元素。
需求 11:当我点击 id 属性为reset
的元素时,应该停止任何运行中的计时器,id="break-length"
元素中的值应该重新回到5
,id="session-length"
元素中的值应该重新回到 25,且id="time-left"
元素应该重置为默认状态。
需求 12:当我点击 id 属性为break-decrement
的元素时,id="break-length"
元素的值应该减去 1,且我应该能看到更新后的值。
需求 13:当我点击 id 属性为break-increment
的元素时,id="break-length"
元素的值应该增加 1,且我应该能看到更新后的值。
需求 14:当我点击 id 属性为session-decrement
的元素时,id="session-length"
元素的值应该减去 1,且我应该能看到更新后的值。
需求 15:当我点击 id 属性为session-increment
的元素时,id="session-length"
元素的值应该增加 1,且我应该能看到更新后的值。
需求 16:工作或者休息长度不应该可以设置为 <= 0 的值。
需求 17:工作或者休息长度比应该可以设置为 > 60 的值。
需求 18:当我首次点击具有id="start_stop"
属性的元素时,计时器应该根据id="session-length"
元素当前显示的值开始运行,即使该值已从原始值 25 递增过或递减过。
需求 19:如果计时器正在运行,id 属性为time-left
的元素应该以mm:ss
的格式展示剩余的时间(按1递减并且每秒更新一次显示的值)。
需求 20:如果计时器正在运行,当我点击id="start_stop"
元素时,倒计时应该暂停。
需求 21:如果计时器已经暂停,当我点击id="start_stop"
元素时,倒计时应该从暂停的时间点恢复运行。
需求 22:当一个工作倒计时结束(注意:计时器必须达到00:00),并且新的倒计时开始运行时,id 属性为timer-label
的元素应该显示一个表示已经开始休息的字符串。
需求 23:当一个工作倒计时结束(注意:计时器必须达到00:00),应该开始一个新的休息倒计时,时间应该从id="break-length"
元素中当前显示的值开始计算。
需求 24:当一个休息倒计时结束(注意:计时器必须达到00:00),并且新的倒计时开始运行时,id 属性为timer-label
的元素应该显示一个表示已经开始工作的字符串。
需求 25:当一个休息倒计时结束(注意:计时器必须达到00:00),应该开始一个新的工作倒计时,时间应该从id="session-length"
元素中当前显示的值开始计算。
需求 26:当一个倒计时结束(注意:计时器必须达到00:00),应该播放一个表示时间到了的声音提示。这个提示音应该使用 HTML5 的audio
标签并有一个id="beep"
属性。
需求 27:具有id="beep"
属性的音频元素时长应该至少有一秒。
需求 28:当点击 id 属性为reset
的元素时,id 属性为beep
的音频元素必须停止播放并回到开头。
你可以 fork 这个 CodePen pen 项目 来构建你的项目。 或者你可以在任何你喜欢的环境中使用以下 CDN 链接来运行测试: https://gitcdn.link/repo/freeCodeCamp/testable-projects-fcc/master/build/bundle.js
一旦你完成了本项目并且该项目所有测试运行通过, 请提交项目的 URL。
Instructions
Tests
tests: []
Challenge Seed
Solution
// solution required