Seção de contagem regressiva para qualquer tema do Shopify

Countdown Section for Any Shopify theme

Compatibilidade: todos os temas do Shopify funcionam melhor com os temas GRATUITOS do Shopify 2.0

Vi várias seções de contagem regressiva para o Shopify, mas não vi um relógio de contagem regressiva com opções para fornecer dias, horas ou minutos. Você pode usar essa contagem regressiva para o layout da sua senha, quando sua loja não estiver pronta para abrir.

Adicione uma seção de contagem regressiva em sua loja Shopify com uma bela animação flip.

Você pode verificar a loja de demonstração aqui . Senha: made4uo

O que você está comprando:

  • Uma seção de contagem regressiva
  • Capaz de ter contagem regressiva com dias, horas ou minutos
  • Capaz de adicionar título, richtext, botão, imagem de fundo e contagem regressiva.
  • A altura do contêiner depende da altura da imagem de fundo
  • Você também pode usar a cor de fundo

O que torna nosso código melhor:

  • Não usamos bibliotecas externas, com isso dito, nosso código não terá nenhum efeito mínimo no desempenho de velocidade do seu site
  • Não deixamos nem adicionamos códigos para anunciar em nosso site
  • Nosso código é compatível com dispositivos móveis

Quaisquer problemas relacionados ao código serão corrigidos sem custo adicional, excluindo solicitações de customização de código. Basta entrar em contato conosco em "Converse conosco". Estamos a apenas um botão de distância.

Para iniciar:

1. Na sua página de administração, clique em Loja Online > Temas > Ações > Editar código
2. Na pasta Seção, crie uma seção e nomeie-a como "seção de contagem regressiva" e cole o código abaixo

 < div
 class = "seção de contagem regressiva"
 estilo = " 
--image-filter: {{ section.settings.image_filter }} ; --countdown-aspect-ratio: {{ section.settings.image.aspect_ratio }} ;
 {% unless section.settings.image %} cor de fundo: {{ section.settings.background }} {% endunless %}
 "
 >
 { % se seção. configurações . imagem % }
 { {
 seção. configurações . imagem 
| URL_da_imagem : largura : 1500
 | imagem_tag :
 carregando : 'preguiçoso' ,
 largura : seção. configurações . imagem . largura ,
 altura : altura_da_imagem ,
 class : 'imagem de contagem regressiva' ,
 tamanhos : tamanhos , 
larguras : '375, 550, 750, 1100, 1500, 1780, 2000, 3000, 3840' ,
 alt : seção. configurações . imagem . alternativo
 } }
 { % fim se % }
 < div
 class = "contagem regressiva--contêiner" 
style = "posição: {% if section.settings.image %} absoluto {% else %} relativo {% endif %} "
 >
 { % para bloco na seção. blocos % }
 { % bloco de casos . tipo % } 
{ %- quando 'título' -% }
 < { { bloco. configurações . tamanho_título } }
 class = "contagem regressiva--título"
 style = "cor: {{ block.settings.heading_color }} "
 > 
{ { - bloquear. configurações . título | escapar - } }
 </ { { bloco. configurações . tamanho_título } } >
 { %- quando 'texto' -% } 
< { { bloco. configurações . text_size } } class = "contagem regressiva--text" style = "color: {{ block.settings.richtext_color }} " >
 { { - bloquear. configurações . texto - } } 
</ { { bloco. configurações . tamanho_texto } } >
 { %- quando 'botão' -% }
 < um
 class = "contagem regressiva - botão botão botão - botão sólido - com ícone"
 href = " {{ block.settings.button_link | escape }} " 
title = " {{ block.settings.button_label | escape }} "
 style = "cor: {{ block.settings.button_text_color }} ; cor de fundo: {{ block.settings.button_bg_color }} "
 >
 < span > { { bloco. configurações . rótulo_botão | escape } } </ span > 
</a> _
 { % quando 'contagem regressiva' % }
 { % líquido
 se bloquear. configurações . am_pm == 'AM'
 atribuir tempo = bloco. configurações . tempo
 outro 
atribuir _time = bloco. configurações . tempo | dividir : ':' 
atribuir hora = _hora [ 0 ] | mais : 12 | acrescentar : ':' | anexar : _time [ 1 ] | acrescentar : ':' | anexar : _time [ 2 ]
 fim se 
% }
 < contagem regressiva - seção
 dados - data = " {{ block.settings.date_year }} - {{ block.settings.date_month }} - {{ block.settings.date_day }} {{ time }} "
 style = "--countdown-color: {{ block.settings.text_color }} ; --countdown-bg-color: {{ block.settings.background_color }} ; --countdown-text: {{ block.settings.countdown_text }} ;"
 > 
< div classe = "contagem regressiva" >
 < div class = "seção de tempo" id = "dias" >
 < div class = "grupo de tempo" > 
< div class = "segmento de tempo" >
 < div class = "cartão de contagem regressiva" >
 < div class = "cartão de contagem regressiva__top" > 0 </ div > 
< div class = "cartão de contagem regressiva__bottom" > 0 </ div >
 < div class = "sobreposição de contagem regressiva" > 
< div class = "countdown-overlay__top" 0 </ div >
 < div class = "countdown-overlay__bottom" > 0 </ div >
 </div> _ _ 
</div> _ _
 </div> _ _
 < div class = "segmento de tempo" >
 < div class = "cartão de contagem regressiva" > 
< div class = "cartão de contagem regressiva__top" > 0 </ div >
 < div class = "cartão de contagem regressiva__bottom" > 0 </ div > 
< div class = "sobreposição de contagem regressiva" >
 < div class = "countdown-overlay__top" > 0 </ div > 
< div class = "countdown-overlay__bottom" > 0 </ div >
 </div> _ _
 </div> _ _
 </div> _ _
 </div> _ _ 
< p > Dias </ p >
 </div> _ _
 < div class = "seção de tempo" id = "horas" >
 < div class = "grupo de tempo" > 
< div class = "segmento de tempo" >
 < div class = "cartão de contagem regressiva" >
 < div class = "cartão de contagem regressiva__top" > 0 </ div > 
< div class = "cartão de contagem regressiva__bottom" > 0 </ div >
 < div class = "sobreposição de contagem regressiva" > 
< div class = "countdown-overlay__top" > 0 </ div >
 < div class = "countdown-overlay__bottom" > 0 </ div > 
</div> _ _
 </div> _ _
 </div> _ _
 < div class = "segmento de tempo" >
 < div class = "cartão de contagem regressiva" > 
< div class = "cartão de contagem regressiva__top" > 0 </ div >
 < div class = "cartão de contagem regressiva__bottom" > 0 </ div > 
< div class = "sobreposição de contagem regressiva" >
 < div class = "countdown-overlay__top" > 0 </ div > 
< div class = "countdown-overlay__bottom" > 0 </ div >
 </div> _ _
 </div> _ _
 </div> _ _
 </div> _ _ 
< p > Horas </ p >
 </div> _ _
 < div class = "seção de tempo" id = "minutos" >
 < div class = "grupo de tempo" > 
< div class = "segmento de tempo" >
 < div class = "cartão de contagem regressiva" >
 < div class = "cartão de contagem regressiva__top" > 0 </ div > 
< div class = "cartão de contagem regressiva__bottom" > 0 </ div >
 < div class = "sobreposição de contagem regressiva" > 
< div class = "countdown-overlay__top" > 0 </ div >
 < div class = "countdown-overlay__bottom" > 0 </ div > 
</div> _ _
 </div> _ _
 </div> _ _
 < div class = "segmento de tempo" >
 < div class = "cartão de contagem regressiva" > 
< div class = "cartão de contagem regressiva__top" > 0 </ div >
 < div class = "cartão de contagem regressiva__bottom" > 0 </ div > 
< div class = "sobreposição de contagem regressiva" >
 < div class = "countdown-overlay__top" > 0 </ div > 
< div class = "countdown-overlay__bottom" > 0 </ div >
 </div> _ _
 </div> _ _
 </div> _ _
 </div> _ _ 
< p > Minutos </ p >
 </div> _ _
 < div class = "seção de tempo" id = "segundos" >
 < div class = "grupo de tempo" > 
< div class = "segmento de tempo" >
 < div class = "cartão de contagem regressiva" >
 < div class = "cartão de contagem regressiva__top" > 0 </ div > 
< div class = "cartão de contagem regressiva__bottom" > 0 </ div >
 < div class = "sobreposição de contagem regressiva" > 
< div class = "countdown-overlay__top" > 0 </ div >
 < div class = "countdown-overlay__bottom" > 0 </ div > 
</div> _ _
 </div> _ _
 </div> _ _
 < div class = "segmento de tempo" >
 < div class = "cartão de contagem regressiva" > 
< div class = "cartão de contagem regressiva__top" > 0 </ div >
 < div class = "cartão de contagem regressiva__bottom" > 0 </ div > 
< div class = "sobreposição de contagem regressiva" >
 < div class = "countdown-overlay__top" > 0 </ div > 
< div class = "countdown-overlay__bottom" > 0 </ div >
 </div> _ _
 </div> _ _
 </div> _ _
 </div> _ _ 
< p > Segundos </ p >
 </div> _ _
 </div> _ _
 </ contagem regressiva - seção >
 { % final % }
 { % fim para % } 
</div> _ _
 </div> _ _
 <estilo> _
 . contagem regressiva - seção {
 exibição : flexível ;
 flex - direction : coluna ;
 alinhar - itens : centro ;
 posição : relativa ;
 estouro : oculto ; 
justificar - conteúdo : centro ;
 }
 seção de contagem regressiva. contagem regressiva {
 largura : 100 %;
 exibição : flexível ;
 lacuna : braçadeira ( 12px , 2vw , 30px ) ;
 família de fontes : sem serifa ;
 } 
. seção de contagem regressiva . contagem regressiva - imagem {
 filtro : var ( -filtro de imagem ) ;
 largura : 100 %;
 altura : automático ; 
proporção de aspecto : var ( -proporção de contagem regressiva ) ;
 z - índice : -1 ;
 }
 . seção de contagem regressiva . contagem regressiva -- contêiner {
 topo : 0 ; 
esquerda : 0 ;
 largura : 100 %;
 altura : 100 %;
 exibição : flexível ;
 flex - direction : coluna ;
 alinhar - itens : centro ;
 justificar - conteúdo : centro ;
 } 
. contagem regressiva - contêiner. contagem regressiva - título ,
 . contagem regressiva - contêiner. contagem regressiva - texto ,
 . contagem regressiva - contêiner. contagem regressiva - botão ,
 . contagem regressiva -- contagem regressiva do contêiner - seção {
 margem : 1rem 0 ; 
}
 . contagem regressiva -- texto p {
 margem : 0 ;
 }
 . tempo - seção p {
 margem : 1rem 0 0 ;
 cor : var ( -texto - contagem regressiva ) ;
 } 
. tempo - seção {
 alinhamento de texto : centro ;
 tamanho da fonte : clamp ( 15px , 3vw , 30px ) ;
 }
 . horário - grupo {
 exibição : flexível ; 
lacuna : braçadeira ( 5px , 1,5vw , 10px ) ;
 }
 . tempo - segmento {
 exibição : bloco ;
 tamanho da fonte : clamp ( 25px , 5vw , 100px ) ;
 peso da fonte : 900 ; 
largura : 100 %;
 }
 . contagem regressiva - cartão {
 posição : relativa ;
 altura : 100 %;
 }
 . contagem regressiva - card__top ,
 . contagem regressiva - card__bottom {
 estouro : oculto ; 
alinhamento de texto : centro ;
 largura : 100 %;
 altura : 50 %;
 posição : relativa ;
 preenchimento : 0 braçadeira ( 5px , 1,5vw , 15px ) ;
 }
 . contagem regressiva - card__top { 
altura da linha : 1,55 ;
 cor : #eee;
 cor de fundo : var ( -countdown - bg - color ) ;
 }
 . contagem regressiva - card__bottom {
 altura da linha : 0 ; 
cor : var ( -cor - contagem regressiva ) ;
 cor de fundo : var ( -countdown - bg - color ) ;
 }
 . contagem regressiva - sobreposição {
 posição : absoluta ;
 topo : 0 ; 
perspectiva : 400px ;
 altura : 100 %;
 largura : 100 %;
 }
 . contagem regressiva - overlay__top ,
 . contagem regressiva - overlay__bottom {
 posição : absoluta ;
 estouro : oculto ;
 alinhamento de texto : centro ; 
largura : 100 %;
 altura : 50 %;
 }
 . contagem regressiva - overlay__top {
 topo : 0 ;
 altura da linha : 1,55 ;
 cor : var ( -cor - contagem regressiva ) ; 
cor de fundo : var ( -countdown - bg - color ) ;
 transformação - origem : inferior ;
 }
 . contagem regressiva - overlay__bottom {
 inferior : 0 ;
 altura da linha : 0 ; 
cor : var ( -cor - contagem regressiva ) ;
 cor de fundo : var ( -countdown - bg - color ) ;
 borda superior : 2px preto sólido ;
 transformação - origem : topo ; 
filtro : contraste ( 0,6 ) ;
 }
 . contagem regressiva - sobreposição. virar . contagem regressiva - overlay__top {
 animação : flip - top 0,8s linear ;
 }
 . contagem regressiva - sobreposição. virar . contagem regressiva - overlay__bottom { 
animação : flip - bottom 0,8s linear ;
 }
 @keyframes flip - top {
 0 % {
 transformar : rotacionarX ( 0deg ) ;
 }
 50 %,
 100 % { 
transformação : rotacionarX ( -90deg ) ;
 }
 }
 @keyframes flip - inferior {
 0 %,
 50 % {
 transformar : rotacionarX ( 90deg ) ;
 }
 100 % { 
transformar : rotacionarX ( 0deg ) ;
 }
 }
 Tela @media somente e ( largura máxima : 750px ) {
 }
 </ estilo >
 { % esquema % }
 {
 "name" : "Seção de contagem regressiva" , 
"configurações" : [
 {
 "type" : "image_picker" ,
 "id" : "imagem" ,
 "rótulo" : "Imagem" ,
 "info" : "A altura do container depende da altura da imagem"
 } ,
 { 
"tipo" : "selecionar" ,
 "id" : "filtro_imagem" ,
 "label" : "Filtro de imagem" ,
 "default" : "brilho(0,7)" ,
 "opções" : [
 { 
"valor" : "brilho(0,7)" ,
 "rótulo" : "escuro"
 } ,
 {
 "valor" : "brilho(1,2);" ,
 "rótulo" : "brilhante"
 } ,
 { 
"valor" : "escala de cinza(0,8);" ,
 "label" : "tons de cinza"
 } ,
 {
 "valor" : "" ,
 "rótulo" : "normal"
 }
 ]
 } ,
 { 
"tipo" : "cor" ,
 "id" : "plano de fundo" ,
 "label" : "Contêiner de fundo" ,
 "default" : "#fff" ,
 "info" : "Isso só será usado se a imagem estiver em branco"
 }
 ] , 
"blocos" : [
 {
 "tipo" : "título" ,
 "nome" : "Título" ,
 "configurações" : [
 {
 "tipo" : "texto" , 
"id" : "título" ,
 "rótulo" : "Texto" ,
 "default" : "Título"
 } ,
 {
 "tipo" : "selecionar" ,
 "id" : "heading_size" , 
"label" : "Tamanho do texto" ,
 "padrão" : "h1" ,
 "opções" : [
 {
 "valor" : "h1" ,
 "rótulo" : "grande"
 } ,
 { 
"valor" : "h2" ,
 "rótulo" : "médio"
 } ,
 {
 "valor" : "h3" ,
 "rótulo" : "pequeno"
 }
 ]
 } ,
 { 
"tipo" : "cor" ,
 "id" : "heading_color" ,
 "label" : "Cor do texto do título" ,
 "padrão" : "#fff"
 }
 ]
 } ,
 { 
"tipo" : "texto" ,
 "nome" : "Texto" ,
 "configurações" : [
 {
 "type" : "richtext" ,
 "id" : "texto" , 
"rótulo" : "Texto" ,
 "default" : "<p>Promova seus produtos através de uma venda relâmpago!</p>"
 } ,
 {
 "tipo" : "selecionar" ,
 "id" : "tamanho_do_texto" , 
"label" : "Tamanho do texto" ,
 "padrão" : "h3" ,
 "opções" : [
 {
 "valor" : "h2" ,
 "rótulo" : "grande"
 } ,
 { 
"valor" : "h3" ,
 "rótulo" : "médio"
 } ,
 {
 "valor" : "h4" ,
 "rótulo" : "pequeno"
 }
 ]
 } ,
 { 
"tipo" : "cor" ,
 "id" : "richtext_color" ,
 "label" : "Cor do richtext" ,
 "padrão" : "#fff"
 }
 ]
 } ,
 { 
"tipo" : "botão" ,
 "nome" : "Botão" ,
 "configurações" : [
 {
 "tipo" : "texto" ,
 "id" : "button_label" , 
"label" : "Etiqueta do botão" ,
 "default" : "Compre agora"
 } ,
 {
 "tipo" : "url" ,
 "id" : "botão_link" ,
 "label" : "Link do botão" 
} ,
 {
 "tipo" : "cor" ,
 "id" : "button_bg_color" ,
 "label" : "Cor de fundo do botão" ,
 "padrão" : "#000"
 } ,
 { 
"tipo" : "cor" ,
 "id" : "button_text_color" ,
 "label" : "Cor do texto do botão" ,
 "padrão" : "#fff"
 }
 ]
 } ,
 { 
"tipo" : "contagem regressiva" ,
 "nome" : "Contagem regressiva" ,
 "limite" : 1 ,
 "configurações" : [
 {
 "tipo" : "cabeçalho" , 
"content" : "Definir a data de término" ,
 "info" : "Certifique-se de que é posterior à data atual"
 } ,
 {
 "tipo" : "selecionar" ,
 "id" : "data_mês" ,
 "label" : "Mês" , 
"opções" : [
 {
 "valor" : "01" ,
 "rótulo" : "Janeiro"
 } ,
 {
 "valor" : "02" ,
 "label" : "fevereiro" 
} ,
 {
 "valor" : "03" ,
 "rótulo" : "Março"
 } ,
 {
 "valor" : "04" ,
 "rótulo" : "abril"
 } , 
{
 "valor" : "05" ,
 "rótulo" : "maio"
 } ,
 {
 "valor" : "06" ,
 "rótulo" : "junho"
 } ,
 { 
"valor" : "07" ,
 "rótulo" : "Julho"
 } ,
 {
 "valor" : "08" ,
 "rótulo" : "agosto"
 } ,
 { 
"valor" : "09" ,
 "rótulo" : "setembro"
 } ,
 {
 "valor" : "10" ,
 "rótulo" : "Outubro"
 } ,
 { 
"valor" : "11" ,
 "rótulo" : "Novembro"
 } ,
 {
 "valor" : "12" ,
 "rótulo" : "Dezembro"
 }
 ] , 
"padrão" : "01"
 } ,
 {
 "tipo" : "selecionar" ,
 "id" : "data_dia" ,
 "rótulo" : "Dia" ,
 "opções" : [
 { 
"valor" : "01" ,
 "rótulo" : "01"
 } ,
 {
 "valor" : "02" ,
 "rótulo" : "02"
 } ,
 { 
"valor" : "03" ,
 "rótulo" : "03"
 } ,
 {
 "valor" : "04" ,
 "rótulo" : "04"
 } ,
 { 
"valor" : "05" ,
 "rótulo" : "05"
 } ,
 {
 "valor" : "06" ,
 "rótulo" : "06"
 } ,
 { 
"valor" : "07" ,
 "rótulo" : "07"
 } ,
 {
 "valor" : "08" ,
 "rótulo" : "08"
 } ,
 { 
"valor" : "09" ,
 "rótulo" : "09"
 } ,
 {
 "valor" : "10" ,
 "rótulo" : "10"
 } ,
 { 
"valor" : "11" ,
 "rótulo" : "11"
 } ,
 {
 "valor" : "12" ,
 "rótulo" : "12"
 } ,
 { 
"valor" : "13" ,
 "rótulo" : "13"
 } ,
 {
 "valor" : "14" ,
 "rótulo" : "14"
 } ,
 { 
"valor" : "15" ,
 "rótulo" : "15"
 } ,
 {
 "valor" : "16" ,
 "rótulo" : "16"
 } ,
 { 
"valor" : "17" ,
 "rótulo" : "17"
 } ,
 {
 "valor" : "18" ,
 "rótulo" : "18"
 } ,
 { 
"valor" : "19" ,
 "rótulo" : "19"
 } ,
 {
 "valor" : "20" ,
 "rótulo" : "20"
 } ,
 { 
"valor" : "21" ,
 "rótulo" : "21"
 } ,
 {
 "valor" : "22" ,
 "rótulo" : "22"
 } ,
 { 
"valor" : "23" ,
 "rótulo" : "23"
 } ,
 {
 "valor" : "24" ,
 "rótulo" : "24"
 } ,
 { 
"valor" : "25" ,
 "rótulo" : "25"
 } ,
 {
 "valor" : "26" ,
 "rótulo" : "26"
 } ,
 { 
"valor" : "27" ,
 "rótulo" : "27"
 } ,
 {
 "valor" : "28" ,
 "rótulo" : "28"
 } ,
 { 
"valor" : "29" ,
 "rótulo" : "29"
 } ,
 {
 "valor" : "30" ,
 "rótulo" : "30"
 } ,
 { 
"valor" : "31" ,
 "rótulo" : "31"
 }
 ] ,
 "padrão" : "01"
 } ,
 {
 "tipo" : "selecionar" , 
"id" : "data_ano" ,
 "rótulo" : "Ano" ,
 "opções" : [
 {
 "valor" : "2023" ,
 "rótulo" : "2023"
 } ,
 { 
"valor" : "2024" ,
 "rótulo" : "2024"
 } ,
 {
 "valor" : "2025" ,
 "rótulo" : "2025"
 } ,
 { 
"valor" : "2026" ,
 "rótulo" : "2026"
 } ,
 {
 "valor" : "2027" ,
 "rótulo" : "2027"
 } ,
 { 
"valor" : "2028" ,
 "rótulo" : "2028"
 } ,
 {
 "valor" : "2029" ,
 "rótulo" : "2029"
 } ,
 { 
"valor" : "2030" ,
 "rótulo" : "2030"
 } ,
 {
 "valor" : "2031" ,
 "rótulo" : "2031"
 } ,
 { 
"valor" : "2032" ,
 "rótulo" : "2032"
 } ,
 {
 "valor" : "2033" ,
 "rótulo" : "2033"
 } ,
 { 
"valor" : "2034" ,
 "rótulo" : "2034"
 } ,
 {
 "valor" : "2035" ,
 "rótulo" : "2035"
 } ,
 { 
"valor" : "2036" ,
 "rótulo" : "2036"
 } ,
 {
 "valor" : "2037" ,
 "rótulo" : "2037"
 } ,
 { 
"valor" : "2038" ,
 "rótulo" : "2038"
 } ,
 {
 "valor" : "2039" ,
 "rótulo" : "2039"
 } ,
 { 
"valor" : "2040" ,
 "rótulo" : "2040"
 } ,
 {
 "valor" : "2041" ,
 "rótulo" : "2041"
 } ,
 { 
"valor" : "2042" ,
 "rótulo" : "2042"
 } ,
 {
 "valor" : "2043" ,
 "rótulo" : "2043"
 } ,
 { 
"valor" : "2044" ,
 "rótulo" : "2044"
 } ,
 {
 "valor" : "2045" ,
 "rótulo" : "2045"
 } ,
 { 
"valor" : "2046" ,
 "rótulo" : "2046"
 } ,
 {
 "valor" : "2047" ,
 "rótulo" : "2047"
 } ,
 { 
"valor" : "2048" ,
 "rótulo" : "2048"
 } ,
 {
 "valor" : "2049" ,
 "rótulo" : "2049"
 } ,
 { 
"valor" : "2050" ,
 "rótulo" : "2050"
 }
 ] ,
 "padrão" : "2024"
 } ,
 {
 "tipo" : "texto" , 
"id" : "hora" ,
 "rótulo" : "Hora" ,
 "padrão" : "09:00:52" ,
 "info" : "Segue formato de hora HH:MM:SS. Ex: 09:00:52"
 } ,
 {
 "tipo" : "selecionar" , 
"id" : "am_pm" ,
 "info" : "O fuso horário é igual ao fuso horário da loja Shopify" ,
 "opções" : [
 {
 "valor" : "AM" ,
 "rótulo" : "SOU"
 } , 
{
 "valor" : "PM" ,
 "rótulo" : "PM"
 }
 ] ,
 "padrão" : "AM" ,
 "rótulo" : "AM/PM"
 } ,
 { 
"tipo" : "cor" ,
 "id" : "text_color" ,
 "label" : "Cor do texto" ,
 "padrão" : "#fff"
 } ,
 {
 "tipo" : "cor" , 
"id" : "cor_de_fundo" ,
 "label" : "Cor de fundo" ,
 "padrão" : "#111"
 } ,
 {
 "tipo" : "cor" ,
 "id" : "contagem_texto" , 
"label" : "Cor de dias/horas/minutos/segundos" ,
 "padrão" : "#fff"
 }
 ]
 }
 ] ,
 "predefinições" : [
 {
 "name" : "Seção de contagem regressiva"
 }
 ]
 } 
{ % termina o esquema % }

3. Vá para a pasta Asset, abra global.js ou theme.js (seu arquivo javascript principal). Cole o código na parte inferior do arquivo. Certifique-se de clicar em SALVAR

 classe CountdownSection estende HTMLElement {
 construtor ( ) {
 super ( ) ; 
esse . targetDate = nova data ( this.dataset.date ) ; _
 esse . iniciar ( ) ;
 }
 iniciar ( ) { 
const t = setInterval ( ( ) => {
 const e = isto . updateAllSegments ( ) ;
 se ( e ) {
 clearInterval ( t ) ;
 } 
} , 1e3 ) ;
 }
 atualizarSegmentValues ​​( e , t , n ) {
 e. conteúdotexto = n ;
 t. conteúdotexto = n ;
 }
 getTimeSegmentElements ( e ) { 
const t = e. querySelector ( ".cartão de contagem regressiva" ) ;
 constante n = t. querySelector ( ".countdown-card__top" ) ;
 const o = t. querySelector ( ".countdown-card__bottom" ) ; 
const s = t. querySelector ( ".countdown-overlay" ) ;
 const eu = s. querySelector ( ".countdown-overlay__top" ) ;
 const a = s. querySelector ( ".countdown-overlay__bottom" ) ; 
retornar {
 segmentDisplayTop : n ,
 segmentDisplayBottom : o ,
 sobreposição de segmento : s ,
 segmentOverlayTop : eu ,
 segmentOverlayBottom : a ,
 } ;
 }
 updateTimeSegment ( e , t ) { 
const n = isto . getTimeSegmentElements ( e ) ;
 if ( parseInt ( n. segmentDisplayTop . textContent , 10 ) === t ) {
 retornar ;
 } 
e. querySelector ( ".countdown-overlay" ) . lista de classes . adicionar ( "virar" ) ;
 esse . updateSegmentValues ​​( n. segmentDisplayTop , n. segmentOverlayBottom , t ) ;
 n. sobreposição de segmento . addEventListener ( 
"fim da animação" ,
 esse . terminarAnimação . vincular ( este , n , t )
 ) ;
 }
 terminarAnimação ( e , t ) { 
esse . updateSegmentValues ​​( e. segmentDisplayBottom , e. segmentOverlayTop , t ) ;
 e. sobreposição de segmento . lista de classes . remover ( "virar" ) ; 
esse . removeEventListener ( "animationend" , this ) ;
 }
 updateTimeSection ( e , t ) {
 const n = matemática. piso ( t / 10 ) || 0 ; 
const o = t % 10 || 0 ;
 consts = documento. getElementById ( e ) ;
 const eu = s. querySelectorAll ( ".segmento de tempo" ) ; 
se ( t <= 0 ) {
 if ( e == "dias" || e == "horas" ) {
 S. estilo . exibir = "nenhum" ;
 }
 } 
esse . updateTimeSegment ( i [ 0 ] , n ) ;
 esse . updateTimeSegment ( i [ 1 ] , o ) ;
 }
 getTimeRemaining ( e ) { 
const t = Data. agora ( ) ;
 const n = t >= e ;
 se ( n ) { 
return { completo : n , segundos : 0 , minutos : 0 , horas : 0 , dias : 0 } ;
 } 
const o = matemática. andar ( ( e - t ) / 1e3 ) ;
 consts = matemática. andar ( o / 86400 ) % 24 ; 
const i = matemática. piso ( o / 3600 ) % 24 ;
 const a = matemática. piso ( o / 60 ) % 60 ;
 const m = o % 60 ; 
return { completo : n , segundos : m , minutos : a , horas : i , dias : s } ;
 }
 atualizarTodosSegmentos ( ) { 
const e = isto . getTimeRemaining ( new Date ( this.targetDate ) .getTime ( ) ) ; 
esse . updateTimeSection ( "segundos" , por exemplo segundos ) ;
 esse . updateTimeSection ( "minutos" , por exemplo minutos ) ; 
esse . updateTimeSection ( "horas" , por exemplo horas ) ;
 esse . updateTimeSection ( "dias" , por exemplo dias ) ;
 retornar e. completo ;
 }
 } 
elementos personalizados. define ( "seção de contagem regressiva" , CountdownSection ) ;

4. Você pode adicionar a seção usando o editor de tema e encontrar a seção Contagem regressiva.

É isso (",)

0 comentários

Deixe um comentário