Google AMP - Contagem regressiva de data
Ainda outro componente de amplificador chamado Amp Date countdown, que é usado para exibir dias, horas, minutos, segundos até uma determinada data, ou seja, Y2K38 ( 2038)por padrão. A exibição pode ser feita de acordo com os locais de sua escolha; por padrão, é en (inglês) .Amp-date-countdown usa o modelo amp-mustache para renderizar dados.
Neste capítulo, daremos uma olhada em alguns exemplos de trabalho para entender o amp-date-countdown com mais detalhes.
Para trabalhar com amp-date-countdown, precisamos adicionar o seguinte script
Para amp-date-countdown
<script async custom-element = "amp-date-countdown"
src = "https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js">
</script>
Para amp-bigode
<script async custom-template = "amp-mustache"
src = "https://cdn.ampproject.org/v0/amp-mustache-0.1.js">
</script>
Tag Amp-data-contagem regressiva
A tag amp-date-countdown é a seguinte -
<amp-date-countdown timestamp-seconds = "2100466648"
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>
Atributos para amp-date-countdown
Os atributos para amp-date-countdown estão listados na tabela aqui -
Sr. Não | Atributo e descrição |
---|---|
1 | end-date Uma data formatada por ISO para contagem regressiva. Por exemplo, 2025-08-01T00: 00: 00 + 08: 00 |
2 | timestamp-ms Um valor de época POSIX em milissegundos; assumido como o fuso horário UTC. Por exemplo, timestamp-ms = "1521880470000" |
3 | timestamp-seconds Um valor de época POSIX em segundos; assumido como o fuso horário UTC. Por exemplo, timestamp-seconds = "1521880470" |
4 | timeleft-ms Um valor em milissegundos que falta para a contagem regressiva. Por exemplo, 50 horas restantes timeleft-ms = "180.000.000" |
5 | offset-seconds (optional) Um número positivo ou negativo que indica o número de segundos a serem adicionados ou subtraídos da data de término fornecida. Por exemplo, offset-seconds = "60" adiciona 60 segundos à data de término |
6 | when-ended (optional) Especifica se o cronômetro deve ser interrompido quando atingir 0 segundos. O valor pode ser definido para parar (padrão) para indicar que o cronômetro parará em 0 segundos e não passará da data final ou continuará a indicar que o cronômetro deve continuar após atingir 0 segundos. |
7 | locale (optional) Uma string de idioma de internacionalização para cada unidade de cronômetro. O valor padrão é en (para inglês). Os valores suportados estão listados abaixo. |
Formato
Os formatos que amp-date-countdown usa para exibir a contagem regressiva são fornecidos na tabela a seguir -
Sr. Não | Formato e descrição |
---|---|
1 | d Exibir dia como 0,1,2,3 ... infinito |
2 | dd Exibir dia como 00,01,02,03 ... infinito |
3 | h Exibir hora como 0,1,2,3 ... infinito |
4 | hh Exibir hora como 00,01,02,03 ... infinito |
5 | m Exibir minuto como 0,1,2,3,4 ... infinito |
6 | mm Exibir minuto como 00,01,02,03… .infinity |
7 | s Exibir o segundo como 0,1,2,3 ... infinito |
8 | ss Exibir o segundo como 00,01,02,03… .infinity |
9 | days Exibir string de dia ou dias de acordo com o local |
10 | hours Exibir string de hora ou horas de acordo com o local |
11 | minutes Exibir string de minutos ou minutos de acordo com o local |
12 | seconds Exibir sequência de segundos ou segundos de acordo com o local |
Exemplo
<!doctype html>
<html amp lang = "en">
<head>
<meta charset = "utf-8">
<script async src = "https://cdn.ampproject.org/v0.js"></script>
<title>Google AMP - Amp Date-Countdown</title>
<link rel = "canonical" href = " http://example.ampproject.org/article-metadata.html">
<meta name = "viewport" content = "width = device-width,minimum-scale = 1,initial-scale = 1">
<style amp-boilerplate>
body{-webkit-animation:-amp-start 8s steps(1,end)
0s 1 normal both;-moz-animation:
-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
-amp-start 8s steps(1,end) 0s 1 normal both;animation:
-amp-start 8s steps(1,end) 0s 1 normal both
}
@-webkit-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}
</style>
<noscript>
<style amp-boilerplate>
body{-webkit-animation:none;-moz-animation:none;-ms
-animation:none;animation:none}
</style>
</noscript>
<script async custom-element = "amp-date-countdown"
src = "https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js">
</script>
<script async custom-template="amp-mustache" src=
"https://cdn.ampproject.org/v0/amp-mustache-0.1.js">
</script>
</head>
<body>
<h1>Google AMP - Amp Date-Countdown</h1>
<amp-date-countdown
timestamp-seconds = "2145683234"
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>
</body>
</html>
Resultado
Exemplo
Vamos entender os atributos amp-countdown offset-seconds com um exemplo funcional -
<!doctype html>
<html amp lang = "en">
<head>
<meta charset = "utf-8">
<script async src = "https://cdn.ampproject.org/v0.js"></script>
<title>Google AMP - Amp Date-Countdown</title>
<link rel = "canonical" href = " http://example.ampproject.org/article-metadata.html">
<meta name = "viewport" content = "width = device-width,minimum-scale = 1,initial-scale = 1">
<style amp-boilerplate>
body{
-webkit-animation:-amp-start 8s steps(1,end)
0s 1 normal both;-moz-animation:
-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
-amp-start 8s steps(1,end) 0s 1 normal both;animation:
-amp-start 8s steps(1,end) 0s 1 normal both
}
@-webkit-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}
</style>
<noscript>
<style amp-boilerplate>
body{
-webkit-animation:none;-moz-animation:none;-ms
-animation:none;animation:none}
</style>
</noscript>
<script async custom-element = "amp-date-countdown"
src = "https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js">
</script>
<script async custom-template = "amp-mustache"
src = "https://cdn.ampproject.org/v0/amp-mustache-0.1.js">
</script>
</head>
<body>
<h1>Google AMP - Amp Date-Countdown</h1>
<amp-date-countdown
end-date = "2020-01-19T08:14:08.000Z"
offset-seconds = "-50"
layout = "fixed-height"
height = "100">
<template type = "amp-mustache">
<p class = "p1">
{{d}} days, {{h}} hours, {{m}}
minutes and {{s}} seconds until 50
seconds before 2020.
</p>
</template>
</amp-date-countdown>
</body>
</html>
Resultado
Lista de localidades suportadas
A seguir está a lista de localidades compatíveis com amp-date-countdown -
Sr. Não | Nome e local |
---|---|
1 | en Inglês |
2 | es espanhol |
3 | fr francês |
4 | de alemão |
5 | id indonésio |
6 | it italiano |
7 | ja japonês |
8 | ko coreano |
9 | nl holandês |
10 | pt Português |
11 | ru russo |
12 | th tailandês |
13 | tr turco |
14 | vi vietnamita |
15 | zh-cn Chinês simplificado |
16 | zh-tw Chinês tradicional |
Agora, vamos experimentar um exemplo para exibir a contagem regressiva usando uma das localidades acima.
Exemplo
<!doctype html>
<html amp lang = "en">
<head>
<meta charset = "utf-8">
<script async src = "https://cdn.ampproject.org/v0.js"></script>
<title>Google AMP - Amp Date-Countdown</title>
<link rel = "canonical" href = "http://example.ampproject.org/article-metadata.html">
<meta name="viewport" content="width = device-width, minimum-scale = 1,initial-scale = 1">
<style amp-boilerplate>
body{
-webkit-animation:
-amp-start 8s steps(1,end)0s 1 normal both;-moz-animation:
-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
-amp-start 8s steps(1,end) 0s 1 normal both;animation:
-amp-start 8s steps(1,end) 0s 1 normal both
}
@-webkit-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes
-amp-start{from{visibility:hidden}to{visibility:visible}}
</style>
<noscript>
<style amp-boilerplate>
body{
-webkit-animation:none;
-moz-animation:none;
-ms-animation:none;
animation:none}
</style>
</noscript>
<script async custom-element = "amp-date-countdown"
src = "https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js">
</script>
<script async custom-template = "amp-mustache"
src = "https://cdn.ampproject.org/v0/amp-mustache-0.1.js">
</script>
</head>
<body>
<h1>Google AMP - Amp Date-Countdown</h1>
<amp-date-countdown
locale = "ja"
end-date = "2020-01-19T08:14:08.000Z"
offset-seconds = "-50"
layout = "fixed-height"
height = "100">
<template type = "amp-mustache">
<p class = "p1">
{{d}} {{days}}, {{h}} {{hours}}, {{m}}
{{minutes}} and {{s}} {{seconds}} until
50 seconds before 2020.
</p>
</template>
</amp-date-countdown>
</body>
</html>