Adicionar um botão "Voltar ao topo" em páginas longas
Se você tem páginas longas que exigem muita rolagem, inclua um botão Voltar ao topo no tema.
Criar um snippet para voltar ao topo
No admin da Shopify, acesse Loja virtual > Temas.
Encontre o tema que deseja editar, clique no botão ... para abrir o menu de ações e depois em Editar código.
No app da Shopify, toque em Loja.
Na seção Canais de vendas, toque em Loja virtual.
Toque em Gerenciar temas.
Encontre o tema que deseja editar, clique no botão ... para abrir o menu de ações e depois em Editar código.
No app da Shopify, toque em Loja.
Na seção Canais de vendas, toque em Loja virtual.
Toque em Gerenciar temas.
Encontre o tema que deseja editar, clique no botão ... para abrir o menu de ações e depois em Editar código.
No diretório Snippets, clique em Adicionar um novo snippet de código.
Dê aos snippet o nome d
back-to-the-top
e clique em Criar snippet. O arquivo do snippet é aberto no editor de códigos.Cole o seguinte código no arquivo
back-to-the-top
recém-criado:
{% comment %}
Reduce below value if you need the back to the top button to appear higher up on the page.
That value is in pixels.
{% endcomment %}
{% assign vertical_offset_for_trigger = 300 %}
{% comment %}
Vertical offset from bottom of browser for the position of the button.
{% endcomment %}
{% assign position_from_bottom = '6em' %}
<a id="BackToTop" href="#" title="Back to the top" class="back-to-top hide">
<span>Back to the top</span> <i class="fa fa-arrow-circle-o-up fa-2x"></i>
</a>
{{ '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css' | stylesheet_tag }}
<style>
.back-to-top {
position: fixed;
bottom: {{ position_from_bottom }};
right: 0px;
text-decoration: none;
color: #999;
background-color: #eee;
font-size: 16px;
padding: 0.3em;
-webkit-border-top-left-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
-moz-border-radius-topleft: 3px;
-moz-border-radius-bottomleft: 3px;
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
z-index: 60000;
}
.back-to-top i {
vertical-align: middle;
}
.back-to-top span {
padding-left: 0.5em;
}
.back-to-top i + span {
padding-left: 0;
}
.back-to-top:hover {
text-decoration: none;
color: #555;
}
.hide {
display: none!important;
}
</style>
<script>
(function() {
function trackScroll() {
var scrolled = window.pageYOffset;
var coords = {{ vertical_offset_for_trigger }};
if (scrolled > coords) {
goTopBtn.classList.remove('hide');
}
if (scrolled < coords) {
goTopBtn.classList.add('hide');
}
}
function backToTop() {
if (window.pageYOffset > 0) {
window.scrollBy(0, -80);
setTimeout(backToTop, 0);
}
}
var goTopBtn = document.querySelector('.back-to-top');
window.addEventListener('scroll', trackScroll);
goTopBtn.addEventListener('click', backToTop);
})();
</script>
- Clique em Salvar.
Incluir o snippet
Na pasta Layouts, abra o arquivo
theme.liquid
.Vá até o final do arquivo. Logo acima da tag de fechamento
</body>
, cole o código:
{% render 'back-to-the-top' %}
Your code should look like this:
]
- Clique em Salvar.
Configurar o botão "Voltar ao topo" (opcional)
Para personalizar o botão "Voltar ao topo", clique aqui e veja as primeiras linhas do snippet.
- Para alterar a posição do botão em relação à parte inferior do navegador, edite o valor
position_from_bottom
:
{% assign position_from_bottom = '4em' %}
- Para alterar a distância de rolagem pelo cliente antes da exibição do botão, edite o valor
vertical_offset_for_trigger
:
{% assign vertical_offset_for_trigger = 300 %}
Loja de demonstração
Veja um exemplo desta personalização na loja de demonstração.