Compatibilidade: Compatível SOMENTE com temas GRATUITOS do Shopify 2.0
Os controles deslizantes de imagem são uma ótima maneira de mostrar seus produtos, promoções e marca em sua página do Shopify. Um controle deslizante de imagem permite exibir várias imagens em formato de apresentação de slides, o que pode chamar a atenção dos visitantes e proporcionar uma experiência visualmente atraente.
Com apenas algumas linhas de código, você pode criar um controle deslizante e organizá-lo com o conteúdo da sua página do Shopify. É importante observar que o espaçamento afeta o espaço antes e depois do controle deslizante, portanto, esteja atento ao ajustar o código. Com esta solução simples e personalizável, você pode criar um controle deslizante de imagem impressionante para mostrar seus produtos e promoções em sua página do Shopify. Então, por que não adicionar um controle deslizante de imagem incrível hoje e levar sua página do Shopify para o próximo nível?
Por favor, verifique nossa loja de demonstração antes de fazer uma compra. Senha: made4uo
O que você está comprando:
- Adicione um controle deslizante de imagem na página do Shopify
- O tamanho do controle deslizante é metade do contêiner da página
- Alterar a posição do controle deslizante na página
- A altura do controle deslizante é afetada pela altura máxima da imagem
- Certifique-se de ter imagens em tamanho retrato ou paisagem agrupadas
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. Acesse Loja Admin Shopify > Temas > Ações > Editar código.
2. Na pasta Seção, abra main-page.liquid.
3. Substitua todo o código pelo código abaixo. Certifique-se de SALVAR.
< link rel = "folha de estilo" href = " {{ 'section-main-page.css' | asset_url }} " media = "print" onload = "this.media='all'" > < link rel = "stylesheet" href = " {{ 'component-rte.css' | asset_url }} " media = "print" onload = "this.media='all'" > < noscript > { { 'seção-main-page.css' | URL_do_asset | folha de estilo_tag } } < / noscript > < noscript > { { 'component-rte.css' | URL_do_asset | folha de estilo_tag } } < / noscript > <estilo> _ . seção - { { seção. id } } - preenchimento { preenchimento - topo : { { seção. configurações . preenchimento_top | vezes : 0,75 | redondo : 0 } } px ; preenchimento - inferior : { { seção. configurações . preenchimento_bottom | vezes : 0,75 | redondo : 0 } } px ; } @media screen e ( largura mínima : 750px ) { . seção - { { seção. id } } - preenchimento { preenchimento - topo : { { seção. configurações . padding_top } } px ; preenchimento - inferior : { { seção. configurações . padding_bottom } } px ; } } página - controle deslizante { posição : relativa ; largura : 50 % ; preenchimento : 0 3rem ; } página - controle deslizante ul { posição : relativa ; flex - wrap : herdar ; estouro -x : automático ; scroll - snap - type : x obrigatório ; comportamento de rolagem : suave ; - webkit - overflow - rolagem : toque ; exibição : flexível ; preenchimento - esquerda : 0 ! importante ; margem : 0 ; scrollbar - color : rgb ( var ( -color - foreground ) ) rgba ( var ( -color - foreground ) , 0,04 ) ; -ms - overflow - style : nenhum ; largura da barra de rolagem : nenhuma ; alinhar - itens : centro ; } página - controle deslizante ul :: - webkit - barra de rolagem { altura : 0,4rem ; largura : 0,4rem ; Mostrar nenhum ; } página - controle deslizante li { flex - encolher : 0 ; largura : 100 % ; estilo de lista : nenhum ! importante ; exibição : bloco ; } página - controle deslizante img { largura : 100 % ; exibição : bloco ; margem : 0 ! importante ; } . página - controle deslizante - botão - contêiner { posição : absoluta ; topo : 0 ; esquerda : 0 ; largura : 100 % ; altura : calc ( 100 % - 20px ) ; exibição : flexível ; justificar - conteúdo : espaço entre ; alinhar - itens : centro ; índice z : 1 ; } . página - controle deslizante - botão - botão do contêiner { preenchimento : 0,5rem ; plano de fundo : nenhum ; borda : nenhuma ; transição : todos os .3s facilitam ; } . page - slider -- button - container button : hover { escala : 1,3 ; } . página - controle deslizante - botão - contêiner svg. ícone - esquerda { largura : 20px ; altura : 20px ; proporção de aspecto : 1 ; girar : 90 graus ; } . página - controle deslizante - botão - contêiner svg. ícone - direita { largura : 20px ; altura : 20px ; proporção de aspecto : 1 ; gire : - 90 graus ; } . página - controle deslizante - navegação - contêiner { posição : relativa ; largura : 100 % ; altura : automático ; exibição : flexível ; justificar - conteúdo : centro ; preenchimento - topo : 1rem ; } . página - controle deslizante - navegação - intervalo do contêiner { largura : 10px ; proporção de aspecto : 1 ; altura : automático ; plano de fundo : #b1b1b1; margem : 0 0,5rem ; raio da borda : 50 % ; } . página - controle deslizante - navegação - extensão do contêiner. navegação - selecionado { fundo : #000; } . controle deslizante - centro { exibição : bloco ; margem : automática ; } Tela @media somente e ( largura máxima : 750px ) { . rte div > img { largura : 100 % ; } . página rte - controle deslizante { largura : 100 % ; } } < / estilo > < div class = "largura da página largura da página--seção estreita- {{ section.id }} -padding" > < h1 class = "título da página principal título da página h0" > { { página. título | escapar } } < / h1 > < div class = "rte" > { % líquido atribuir page_content = página. conteúdo | substituir : "<p>===page-slider===</p>" , "<page-slider>" | substituir : "<p>===/page-slider===</p>" , "</page-slider>" | substituir : "<p><span>===page-slider===</span></p>" , "<page-slider>" | substituir : "<p><span>===/page-slider===</span></p>" , "</page-slider>" | substituir : "<p><strong>===page-slider===</strong></p>" , "<page-slider>" | substituir : "<p><strong>===/page-slider===</strong></p>" , "</page-slider>" | substituir : "<div style='text-align: left;'>===page-slider===</div>" , "<page-slider>" | substituir : "<div style='text-align: left;'>===/page-slider===</div>" , "</page-slider>" % } { { Conteúdo da página } } < / div > < / div > <roteiro> _ classe PageSlider estende HTMLElement { construtor ( ) { super ( ) ; esse . imagens = isto . querySelectorAll ( 'img' ) esse . elementAtualizações ( ) ; esse . controle deslizante = isto . querySelector ( 'ul' ) ; esse . sliderItems = este . querySelectorAll ( 'li' ) esse . próximoButton = isto . querySelector ( 'botão[nome="próximo"]' ) esse . prevButton = isto . querySelector ( 'botão[nome="anterior"]' ) esse . Próximo botão . addEventListener ( ' clique' , este.botãoClicado.bind ( isto ) ) ; esse . botão anterior . addEventListener ( ' clique' , este.botãoClicado.bind ( isto ) ) ; } elementAtualizações ( ) { const sliderPosition = this . imagens [ 0 ] . parentElement . estilo . alinhamento de texto ; const slider = documento. createElement ( 'ul' ) ; esse . anexarCriança ( slider ) ; esse . imagens . forEach ( img => { const li = documento. criarElemento ( 'li' ) li. anexar ( img ) controle deslizante. acrescentar ( li ) } ) botões const = ` < div class = "page-slider--button-container" > < nome do botão = "anterior" desabilitado > < svg ária - oculto = "true" focusable = "falso" role = "apresentação" class = "icon-left" viewBox = "0 0 10 6" > < preenchimento de caminho - regra = "evenodd" clipe - regra = "evenodd" d = "M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4- 4a.5.5 0 000-.708z" fill = "currentColor" > < / svg > < / botão > < nome do botão = "próximo" > < svg ária - oculto = "true" focusable = "falso" role = "apresentação" class = "icon-right" viewBox = "0 0 10 6" > < preenchimento de caminho - regra = "evenodd" clipe - regra = "evenodd" d = "M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4- 4a.5.5 0 000-.708z" fill = "currentColor" > < / svg > < / botão > </div> ` ; _ _ deixe nav = "<div class='page-slider--nav-container'>" ; for ( deixe i = 0 ; i < this . images . length ; i ++ ) { nav + = ` < span data - index = '${i}' >< / span > ` ; } navegação + = "</div>" ; esse . innerHTML + = botões ; esse . innerHTML + = navegação ; esse . querySelectorAll ( 'span' ) [ 0 ] . lista de classes . add ( 'nav-selecionado' ) ; esse . querySelectorAll ( 'p' ) . forEach ( par => { esse . removerChild ( par ) } ) esse . querySelectorAll ( 'div' ) . forEach ( caixa => { if ( box. innerHTML === '' ) isso . removerChild ( caixa ) } ) sliderPosition == 'centro' ? esse . lista de classes . add ( 'slider-center' ) : this . estilo . float = posição do slider } botãoClicado ( e ) { e. preventDefault ( ) ; e. atualTarget . nome == 'próximo' ? console. log ( 'próximo' ) : console. log ( por exemplo, currentTarget . nome ) esse . slideScrollPosition = e. atualTarget . nome === 'próximo' ? esse . controle deslizante . scrollLeft + this . sliderItems [ 0 ] . clientWidth : este . controle deslizante . scrollLeft - isto . sliderItems [ 0 ] . largura do cliente ; esse . controle deslizante . scrollTo ( { esquerda : isto . slideScrollPosition } ) ; const slideNum = isto . slideScrollPosition / this . sliderItems [ 0 ] . largura do cliente slideNum < 1 ? esse . botão anterior . desativado = verdadeiro : isto . botão anterior . desativado = falso slideNum == isto . sliderItems . comprimento - 1 ? esse . Próximo botão . desativado = verdadeiro : isto . Próximo botão . desativado = falso ; esse . querySelectorAll ( 'span' ) . forEach ( num => num. classList.remove ( ' nav-selected' ) ) esse . querySelectorAll ( 'span' ) [ slideNum ] . lista de classes . add ( 'nav-selecionado' ) } } elementos personalizados. define ( 'page-slider' , PageSlider ) ; < / roteiro > { % esquema % } { "nome" : "t:seções.página principal.nome" , "tag" : "seção" , "classe" : "seção" , "configurações" : [ { "tipo" : "cabeçalho" , "content" : "t:sections.all.padding.section_padding_heading" } , { "tipo" : "intervalo" , "id" : "padding_top" , "min" : 0 , "máximo" : 100 , "Passo 4 , "unidade" : "px" , "label" : "t:sections.all.padding.padding_top" , "padrão" : 36 } , { "tipo" : "intervalo" , "id" : "padding_bottom" , "min" : 0 , "máximo" : 100 , "Passo 4 , "unidade" : "px" , "label" : "t:sections.all.padding.padding_bottom" , "padrão" : 36 } ] , "blocos" : [ { "nome" : "controle deslizante" , "tipo" : "controle deslizante" } ] } { % termina o esquema % } |
4. A seguir, precisamos criar uma página. Na sua página Admin, vá para Loja online e depois Páginas.
5. Escreva a página, mas quando quiser que o controle deslizante inclua a imagem, adicione o texto abaixo antes da primeira imagem. Certifique-se de não adicionar espaços.
| === controle deslizante de página === |
Veja a imagem abaixo sobre como o "===page-slider===" é adicionado antes da primeira imagem. NOTA: Não adicione aspas (")

6. Adicione o texto abaixo após a última imagem. Por favor, siga como está escrito abaixo.
| ===/controle deslizante de página=== |
Veja a imagem abaixo sobre como o "===/page-slider===" é adicionado após a última imagem. NOTA: Não adicione aspas (")

Veja na imagem abaixo como fazer um espaço entre a próxima imagem que não está incluída no controle deslizante da página.
Clique na imagem que deseja colocar ao lado do slide. Certifique-se de adicionar um espaço à esquerda. Para este exemplo abaixo, eu configurei para 10.

7. Para alterar a posição do controle deslizante, certifique-se de alterar o alinhamento da primeira imagem somente dentro do controle deslizante. Clique na imagem e altere o alinhamento para esquerda, centro ou direita. Veja a imagem abaixo.

8. Clique em SALVAR
Se você estiver tendo problemas às vezes, pode ser porque algum código foi alterado em sua página de administração. Certifique-se de que o código para ===page-slider=== esteja entre <p> ou <p><span>. Você precisa clicar em "<>" para ver o código. Veja a imagem abaixo

Se você estiver tendo problemas, entre em contato conosco através de "Converse conosco".
É isso (",)
0 comentários