重要事項:本文件不適用於您目前選取的格式電子郵件!
amp-date-countdown
說明
顯示倒數計時序列至指定的日期。
必要指令碼
<script async custom-element="amp-date-countdown" src="https://cdn.ampproject.org/v0/amp-date-countdown-1.0.js"></script>
<script async custom-element="amp-date-countdown" src="https://cdn.ampproject.org/v0/amp-date-countdown-1.0.js"></script> <link rel="stylesheet" href="https://cdn.ampproject.org/v0/amp-date-countdown-1.0.css">
支援的版面配置
用法
顯示倒數計時序列,以指出排定的事件發生前剩餘的時間。
amp-date-countdown
提供您可以在 AMP 頁面中呈現的倒數計時時間資料。藉由在 amp-date-countdown
標記中提供特定的屬性,amp-date-countdown
擴充功能會傳回時間參數清單,您可以將這些參數傳遞至 amp-mustache
範本以進行呈現。請參閱下方清單,瞭解每個傳回的時間參數。
<amp-date-countdown timestamp-seconds="2147483648" layout="fixed-height" height="50" > <template type="amp-mustache"> <p class="p1"> {{d}} days, {{h}} hours, {{m}} minutes and {{s}} seconds until <a href="https://en.wikipedia.org/wiki/Year_2038_problem">Y2K38</a>. </p> </template> </amp-date-countdown>
傳回的時間參數
下表列出您可以在 Mustache 範本中指定的格式
格式 | 意義 |
---|---|
d | 天 - 0、1、2,...12、13..無限大 |
dd | 天 - 00、01、02、03..無限大 |
h | 小時 - 0、1、2,...12、13..無限大 |
hh | 小時 - 01、02、03..無限大 |
m | 分鐘 - 0、1、2,...12、13..無限大 |
mm | 分鐘 - 01、01、02、03..無限大 |
s | 秒 - 0、1、2,...12、13..無限大 |
ss | 秒 - 00、01、02、03..無限大 |
days | 天或數天的國際化字串 |
hours | 小時或數小時的國際化字串 |
minutes | 分鐘或數分鐘的國際化字串 |
seconds | 秒或數秒的國際化字串 |
格式化值的範例
下表提供 Mustache 範本中指定的格式化值範例,以及輸出範例
格式 | 範例輸出 | 備註 |
---|---|---|
{hh}:{mm}:{ss} | 04:24:06 | - |
{h} {hours} 和 {m} {minutes} 和 {s} {seconds} | 4 小時又 1 分鐘又 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 天 5 小時 10 分鐘 | locale='zh-cn' |
從 0.1 版移轉
實驗性 1.0
版的 amp-date-countdown
使用屬性名稱 count-up
,而非 0.1
中的 data-count-up
,以支援「向上計數」功能。如需更多詳細資訊,請參閱下方「屬性
」下的 count-up
區段。
在有效的 AMP 文件外獨立使用
Bento 可讓您在非 AMP 頁面中使用 AMP 元件,而無需完全採用有效的 AMP。您可以採用這些元件,並將其放置在不支援 AMP 的架構和 CMS 的實作中。請參閱我們的指南在非 AMP 頁面中使用 AMP 元件,以瞭解詳情。
若要尋找獨立版本的 amp-date-countdown
,請參閱bento-date-countdown
。
屬性
您必須至少指定下列其中一個必要屬性:end-date
、timeleft-ms
、timestamp-ms
、timestamp-seconds
。
end-date
要倒數計時至的 ISO 格式日期。例如:2020-06-01T00:00:00+08:00
timestamp-ms
以毫秒為單位的 POSIX Epoch 值;假設為 UTC 時區。例如:timestamp-ms="1521880470000"
。
timestamp-seconds
以秒為單位的 POSIX Epoch 值;假設為 UTC 時區。例如:timestamp-seconds="1521880470"
。
timeleft-ms
要倒數計時的剩餘毫秒值。例如:剩餘 48 小時 timeleft-ms="172800000"
。
offset-seconds (選用)
代表要從 end-date
新增或減去之秒數的正數或負數。例如:offset-seconds="60"
會將 60 秒新增至結束日期。
when-ended (選用)
指定計時器是否在達到 0 秒時停止。值可以設定為 stop
(預設值),表示計時器在 0 秒時停止,且不會超過最終日期;或設定為 continue
,表示計時器應在達到 0 秒後繼續計時。
locale (選用)
每個計時器單位的國際化語言字串。預設值為 en
(英文)。
支援的值
代碼 | 語言 |
---|---|
de | 德文 |
en | 英文 |
es | 西班牙文 |
fr | 法文 |
id | 印尼文 |
it | 義大利文 |
ja | 日文 |
ko | 韓文 |
nl | 荷蘭文 |
pt | 葡萄牙文 |
ru | 俄文 |
th | 泰文 |
tr | 土耳其文 |
vi | 越南文 |
zh-cn | 簡體中文 |
zh-tw | 繁體中文 |
biggest-unit (選用)
允許 amp-date-countdown
元件根據指定的 biggest-unit
值計算時間差。例如,假設剩下 50 天 10 小時
,如果將 biggest-unit
設定為 hours
,則結果會顯示剩下 1210 小時
。
- 支援的值:
days
、hours
、minutes
、seconds
- 預設值:
days
count-up (選用)
包含此屬性可反轉倒數計時的方向,改為向上計數。這適用於顯示自過去目標日期起經過的時間。若要在目標日期為過去時繼續計數,請務必包含 when-ended
屬性,並將值設為 continue
。如果目標日期在未來,amp-date-countdown
將顯示遞減 (朝向 0) 的負值。
0.1
不同,後者使用 data-count-up
屬性來切換此功能。此功能的行為與 0.1
完全相同。活動
amp-date-countdown
元件公開下列事件,您可以使用AMP on-syntax 觸發
逾時
當計時器逾時時。若要使此動作生效,必須將 when-ended
設定為 stop
。計時器逾時時,您只能執行低信任度動作,例如 amp-animation
和 amp-video
動作。這是為了強制執行 AMP 的 UX 原則,即不允許在沒有明確使用者動作的情況下重新排列頁面內容。|
範例:示範逾時事件的用法
<h1 id="sample"> When Timer hits 0, will hide the timer itself and hide this message. </h1> <amp-animation id="hide-timeout-event" layout="nodisplay"> <script type="application/json"> { "duration": "1s", "fill": "both", "selector": "#ampdate, #sample", "keyframes": {"visibility": "hidden"} } </script> </amp-animation> <amp-date-countdown id="ampdate" end-date="2018-07-17T06:19:40+08:00" on="timeout: hide-timeout-event.start" height="400" width="400" when-ended="stop" locale="en" > <template type="amp-mustache"> <h1>Countdown Clock</h1> <div> {{dd}} : {{hh)) : {{mm}} : {{ss}} </div> </template> </amp-date-countdown>
呈現為
您已閱讀本文件十幾次,但它仍然沒有涵蓋您的所有問題嗎?也許其他人也有相同的感受:在 Stack Overflow 上與他們聯繫。
前往 Stack Overflow 發現錯誤或缺少功能?AMP 專案強烈鼓勵您的參與和貢獻!我們希望您能成為我們開放原始碼社群的長期參與者,但我們也歡迎針對您特別感興趣的問題提供一次性的貢獻。
前往 GitHub