semana-hacktoberfest icon indicating copy to clipboard operation
semana-hacktoberfest copied to clipboard

Soft scroll

Open evandersondev opened this issue 5 years ago • 5 comments

Vi no site que ao clicar no link do Header então estav com a idéia de colocar um smooth no scroll pois ao clicar ele muda para a seção de um modo muito seco.

Apliquei uma função para fazer um smooth no scroll ao clicar no link da navegação, essa função permite que qualquer browser tenha esse comportamente, também mantive o comportamento de mudar na url de acordo com a seção.

essa função fica em ui/header/header.js e é chamado no onClick do link

function scrollNavigation (e, url) {
    e.preventDefault()
    const to = document.querySelector(url).offsetTop

    smoothScrollTo(0, to)
    window.history.pushState('', '', [url])
  }

Outra função foi criado com toda a logica smoothScrollTo geralmente coloco funções externas em uma pasta chamada utils, como não sei qual padrões vocês adotam eu fiz dessa forma que geralmente faço, aberto a sugestões.

Uma outra sujestão tambem seria jogar as pastas pages, ui, resources para dentro de uma pasta src e a utils caso ela entre na PR

evandersondev avatar Oct 02 '20 19:10 evandersondev

Olá @evandersondev tudo bem? Testei o site agorinha o mesmo e pelo menos nos browsers que testei, o smooth scroll está funcionando a partir da prop scroll-behavior que colocamos na tag html via CSS. Qual browser você testou?

vmarcosp avatar Oct 03 '20 18:10 vmarcosp

Brave Web Browser

evandersondev avatar Oct 03 '20 19:10 evandersondev

Que estranho @evandersondev, testei aqui no brave também e funcionou normalmente o smooth scroll. @Mendrone @fdaciuk Vocês testaram aí também? O GIF tirou um pouco a qualidade e deixou a animação mais lenta do que realmente é, mas a princípio está tudo certo

preview

vmarcosp avatar Oct 07 '20 12:10 vmarcosp

Qual seu SO @evandersondev ?

fdaciuk avatar Oct 07 '20 13:10 fdaciuk

@fdaciuk eu utilizo o Ubuntu 19

evandersondev avatar Oct 07 '20 13:10 evandersondev