mip-date-countdown 组件

倒计时组件

标题 内容
类型 通用
支持布局 responsive, fixed-height, fill, container, fixed
所需脚本 https://c.mipcdn.com/static/v1/mip-mustache/mip-mustache.jshttps://c.mipcdn.com/static/v2/mip-date-countdown/mip-date-countdown.js

示例

  1. <mip-date-countdown end-date="2020-06-01T00:00:00+08:00">
  2. <template type="mip-mustache">
  3. <div>
  4. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  5. </div>
  6. </template>
  7. </mip-date-countdown>

将显示为:

  1. 591 天, 08 小时, 10 分钟, 58

时间格式

格式 输出示例 备注
{hh}:{mm}:{ss} 04:24:06 -
{h} {hours} and {m} {minutes} and {s} {seconds} 4 小时 and 1 分钟 and 45 秒 -
{d} {days} {h}:{mm} 1 天 5:03 -
{d} {days} {h} {hours} {m} {minutes} 50 天 5 小时 10 分钟 -
{d} {days} {h} {hours} {m} {minutes} 20 天 5 小时 10 分钟 -
{h} {hours} {m} {minutes} 240 小时 10 分钟 biggest-unit='hours'
{d} {days} {h} {hours} {m} {minutes} 50 days 5 hours 10 minutes locale='en'

属性

用来指定目标时间的参数:end-date, timestamp-ms, timestamp-secondstimeleft-ms, 至少需要其中一个。

end-date

ISO 格式的时间,如 2020-06-01T00:00:00+08:00

timestamp-ms

目标时间戳(ms),如 1590940800000

timestamp-seconds

目标时间戳(s),如 1590940800

timeleft-ms

剩余时间(ms),如 3600000

offset-seconds (可选)

距离目标时间的时间偏移量(s),可以是正数或负数,如 offset-seconds="60" 表示将目标时间增加 60 秒

biggest-unit (可选)

设置倒计时的最大时间单位,默认值 days。如倒计时时间是 10 天 10 小时 20 分钟,若设置 biggest-unit="hours",则时间显示为:250 小时 20 分钟

可选值:dayshoursminutesseconds 默认值:days

when-ended (可选)

用于设置倒计时结束(0天0时0分0秒)时,是否停止计时器。默认值 stop。设置成 continue 时,0 秒后会继续执行倒计时。注意:使用 timeout 事件时,必须将 when-ended 置为 stop

locale (可选)

设置时间单位显示的语言,默认值 zh-cn(简体中文)

locale 值 语言
de German
en English
es Spanish
fr French
id Indonesian
it Italian
ja Japanese
ko Korean
nl Dutch
pt Portuguese
ru Russian
th Thai
tr Turkish
vi Vietnamese
zh-cn 简体中文
zh-tw Chinese Traditional

事件

事件名称 事件描述
timeout 标志着倒计时结束,when-ended 值必须为默认值 stop

如下示例,30秒倒计时结束时,组件将触发 timeout 事件,下方的段落文字将自动替换为“时间到了”。

  1. <mip-data>
  2. <script type="application/json">
  3. {
  4. "status": "倒计时进行中..."
  5. }
  6. </script>
  7. </mip-data>
  8. <mip-date-countdown timeleft-ms="30000" when-ended="stop" on="timeout:MIP.setData({status:'时间到了'})">
  9. <template type="mip-mustache">
  10. <div>
  11. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  12. </div>
  13. </template>
  14. </mip-date-countdown>
  15. <p m-text="status"></p>

示例

  1. <!-- end-date -->
  2. <h2>end-date</h2>
  3. <mip-date-countdown end-date="2020-06-01T00:00:00+08:00">
  4. <template type="mip-mustache">
  5. <div>
  6. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  7. </div>
  8. </template>
  9. </mip-date-countdown>
  10. <!-- timestamp-ms -->
  11. <h2>timestamp-ms</h2>
  12. <mip-date-countdown timestamp-ms="1590940800000">
  13. <template type="mip-mustache">
  14. <div>
  15. {{d}} {{days}}, {{h}} {{hours}}, {{m}} {{minutes}}, {{s}} {{seconds}}
  16. </div>
  17. </template>
  18. </mip-date-countdown>
  19. <!-- timestamp-seconds -->
  20. <h2>timestamp-seconds</h2>
  21. <mip-date-countdown timestamp-seconds="1590940800">
  22. <template type="mip-mustache">
  23. <div>
  24. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  25. </div>
  26. </template>
  27. </mip-date-countdown>
  28. <!-- timeleft-ms -->
  29. <h2>timeleft-ms</h2>
  30. <mip-date-countdown timeleft-ms="3600000">
  31. <template type="mip-mustache">
  32. <div>
  33. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  34. </div>
  35. </template>
  36. </mip-date-countdown>
  37. <!-- offset-seconds -->
  38. <h2>offset-seconds</h2>
  39. <mip-date-countdown timeleft-ms="3600000" offset-seconds="-60">
  40. <template type="mip-mustache">
  41. <div>
  42. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  43. </div>
  44. </template>
  45. </mip-date-countdown>
  46. <!-- locale -->
  47. <h2>locale</h2>
  48. <mip-date-countdown end-date="2020-06-01T00:00:00+08:00" locale="en">
  49. <template type="mip-mustache">
  50. <div>
  51. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  52. </div>
  53. </template>
  54. </mip-date-countdown>
  55. <mip-date-countdown end-date="2020-06-01T00:00:00+08:00" locale="ko">
  56. <template type="mip-mustache">
  57. <div>
  58. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  59. </div>
  60. </template>
  61. </mip-date-countdown>
  62. <mip-date-countdown end-date="2020-06-01T00:00:00+08:00" locale="th">
  63. <template type="mip-mustache">
  64. <div>
  65. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  66. </div>
  67. </template>
  68. </mip-date-countdown>
  69. <mip-date-countdown end-date="2020-06-01T00:00:00+08:00" locale="zh-tw">
  70. <template type="mip-mustache">
  71. <div>
  72. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  73. </div>
  74. </template>
  75. </mip-date-countdown>
  76. <!-- biggest-unit -->
  77. <h2>biggest-unit</h2>
  78. <mip-date-countdown end-date="2020-06-01T00:00:00+08:00" biggest-unit="hours">
  79. <template type="mip-mustache">
  80. <div>
  81. {{dd}} {{days}}, {{hh}} {{hours}}, {{mm}} {{minutes}}, {{ss}} {{seconds}}
  82. </div>
  83. </template>
  84. </mip-date-countdown>

原文: https://www.mipengine.org/v2/components/presentation/mip-date-countdown.html