Tutorial Javascript - Como Fazer um Scroll Suave

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 67

  • @andrefelix8521
    @andrefelix8521 4 หลายเดือนก่อน +2

    Obrigado, amigo.
    Você mostrou EXATAMENTE o que eu queria saber em 33s segundos de vídeo.
    Nunca fiquei tão satisfeito no TH-cam.

  • @alissonlima3735
    @alissonlima3735 3 ปีที่แล้ว +11

    Meu Deus do céu, QUE VIDEO TOPPPP.
    agora meu site vai ser muito mais confortavel FINALMENTE
    tiger vc é o cara kkkk
    por favor, faz uma live codando um site simples responsivo com agente....POR FAVOR kkkkkkk
    # melhordomundo

  • @fabioverlaine7274
    @fabioverlaine7274 3 ปีที่แล้ว +1

    Rapaz... que shoow !! DIDÁTICA EXCELENTE . ESSE TIGER É MESTRE !! SUCESSO

    • @TigerCodes
      @TigerCodes  3 ปีที่แล้ว

      Obrigado Fabio! 💙🐅

  • @ldcurty
    @ldcurty 3 ปีที่แล้ว

    Cai de paraquedas aqui, e só pela qualidade do conteudo ganhou um inscrito e um fã haahah

  • @fabio6125
    @fabio6125 2 ปีที่แล้ว +2

    que explicação didática! simplesmente perfeito. ganhou mais um escrito

    • @TigerCodes
      @TigerCodes  2 ปีที่แล้ว

      Obrigado pelo elogio e pela inscrição 💙🐅

  • @lucastheodoro4800
    @lucastheodoro4800 2 ปีที่แล้ว

    Estava em busca dessa solução citada logo no começo "scroll-padding-top" OBRIGADO!!!

    • @TigerCodes
      @TigerCodes  2 ปีที่แล้ว

      Fico feliz que encontrou algo que procurava :)

  • @DiogoLScarmagnani
    @DiogoLScarmagnani ปีที่แล้ว +9

    Venho do futuro para dizer q o Safari 15.4 já está compatível. Mas valeu pela aula, sempre bom ver o quanto o JavaScript é poderoso na manipulação da DOM.

  • @mariaxyzful
    @mariaxyzful 2 ปีที่แล้ว +1

    Simplesmente fantástica sua metodologia de ensino, parabéns 🤜🤛

    • @TigerCodes
      @TigerCodes  ปีที่แล้ว

      Fico feliz que você gostou, Maria

  • @felipejulianos
    @felipejulianos 3 ปีที่แล้ว

    foda demais! continue! estou vendo todos os seus videos e recomendando para parceiros e amigos, simplesmente parabéns!

    • @TigerCodes
      @TigerCodes  3 ปีที่แล้ว

      Obrigado pela força, Felipe! Tem mais vídeo vindo aí

  • @niltoncesar286
    @niltoncesar286 3 ปีที่แล้ว +1

    Muito bom, estava quebrando a cabeça com isso... +1 inscrito!

  • @wallycoding
    @wallycoding 3 ปีที่แล้ว

    Muito bem feito o vídeo, ótima qualidade mano, boss dms

    • @TigerCodes
      @TigerCodes  3 ปีที่แล้ว

      Valeu, Wally 🐯

  • @oberdanorris
    @oberdanorris 3 ปีที่แล้ว +1

    Parabéns pelo vídeo! Tem uma ótima didática.

  • @wallycoding
    @wallycoding 3 ปีที่แล้ว

    Show, muito bom, para quem tá iniciando ou necessitando utilizar scrolling é muito bom!

  • @paulolemoss1
    @paulolemoss1 3 ปีที่แล้ว

    Ótimo vídeo, quero aprender mais técnicas no front-end, já que sou iniciante na área. Obrigado pelo vídeo valeu!

    • @TigerCodes
      @TigerCodes  3 ปีที่แล้ว +1

      Obrigado, Paulo!

  • @programadorprincipiante
    @programadorprincipiante 3 ปีที่แล้ว +1

    Parabéns, Ótima Aula. Obrigado.

  • @rodineicirineu599
    @rodineicirineu599 3 ปีที่แล้ว +1

    Show mano, ficou top

  • @fabionunes9842
    @fabionunes9842 2 ปีที่แล้ว

    Muito boa a didática mano!!!!! Muito bom mesmo!!!!

    • @TigerCodes
      @TigerCodes  2 ปีที่แล้ว

      Muito obrigado 😁

  • @vitordrumondd
    @vitordrumondd 2 ปีที่แล้ว

    essa dica para adicionar uma margin-top ao rolar foi foda. parabens

    • @TigerCodes
      @TigerCodes  2 ปีที่แล้ว

      Fico feliz que a dica te ajudou, Vitor. 🐅

  • @luizbaidum
    @luizbaidum ปีที่แล้ว

    brabo dms!!

  • @hyugavlr
    @hyugavlr ปีที่แล้ว

    O brabo

  • @alannascimento2783
    @alannascimento2783 ปีที่แล้ว

    Muito bom seus vídeo! Mercearia mais visualização!

    • @TigerCodes
      @TigerCodes  ปีที่แล้ว

      Muito obrigado, compartilhe com os amigos! 😁

  • @stomperhk9107
    @stomperhk9107 3 ปีที่แล้ว +1

    Função para fazer scroll da página suavemente:
    function scrollSmoothly(finalPositionY, scrollOffset=40) {
    let currentScrollY = window.pageYOffset
    if (currentScrollY < finalPositionY) {
    requestAnimationFrame(() => {
    currentScrollY += currentScrollY + scrollOffset > finalPositionY ? finalPositionY - currentScrollY : scrollOffset
    scrollTo(0, currentScrollY)
    scrollSmoothly(finalPositionY)
    })
    }
    else if (currentScrollY > finalPositionY) {
    requestAnimationFrame(() => {
    currentScrollY -= currentScrollY - scrollOffset < finalPositionY ? currentScrollY - finalPositionY : scrollOffset
    scrollTo(0, currentScrollY)
    scrollSmoothly(finalPositionY)
    })
    }
    } 
    Esse método de cima possui um suporte muito maior do que utilizando a proprieade behaviour da função scrollTo ou do que a propriedade scroll-behaviour do CSS. Ele também é bem mais legível e tem mais performance do que usar setInterval
    Explicando o código:
    Basicamente, você passa como primeiro parâmetro a posição Y de destino da página e como segundo parâmetro a taxa de scroll (quanto maior for esse valor, menos suave é a transição).
    Após isso, o código verifica se a sua posição atual é menor ou maior do que a posição de destino. Então, agora entra a parte do requestAnimationFrame, que, como o nome sugere, é ideal para fazer animações. Nesse caso, eu estou invocando ele e também estou invocando a própria função scrollSmoothly, pois esse é o único jeito de fazer com que o código seja repetido constantemente. Se não fosse isso seria necessário usar setInterval, que não é uma boa.
    O requestAnimationFrame ou vai executar o código uma vez por cada frame ou apenas quando a main thread do JavaScript não estiver ocupada/lotada.

  • @larissaholland
    @larissaholland 3 ปีที่แล้ว +1

    👏🏼👏🏼👏🏼

  • @larissamota59
    @larissamota59 2 ปีที่แล้ว

    Sou iniciante nesse mundo, e seu vídeo me ajudou muito! Para incrementar esse código js em meu site, preciso colocar créditos para você nele?

    • @TigerCodes
      @TigerCodes  2 ปีที่แล้ว

      Coloque apenas se quiser, o uso do código é livre. E fico feliz que te ajudou, Larissa. 🐅

  • @flaviodonaire1704
    @flaviodonaire1704 5 หลายเดือนก่อน

    Qual é o link do github ?

  • @ismaelsantos1231
    @ismaelsantos1231 2 ปีที่แล้ว

    Quando eu uso o event.preventDefault(); meus links param de funcionar quando são clicados....

    • @TigerCodes
      @TigerCodes  2 ปีที่แล้ว +1

      No vídeo esse método serviu apenas para prevenir o padrão do navegador de pular de modo seco para a seção e colocar uma ID na URL. O problema deve estar ligado provavelmente à outra linha do seu código, por favor baixe o código-fonte completo na descrição a fim de comparar para encontrar erros

  • @lorebas12
    @lorebas12 ปีที่แล้ว

    amo-te

  • @simaoz
    @simaoz ปีที่แล้ว

    valeuu!

  • @CanalOpenSource
    @CanalOpenSource ปีที่แล้ว

    quando eu vi o codigo achei engraçado, ele manda em um determinado tempo uma parte em pixel pra ir pra baixo ate chegar no pixel total "genios" hahahaha

  • @MatheusCamilo26
    @MatheusCamilo26 3 หลายเดือนก่อน

    Nunca vou entender pq vc parou de ensinar ! T.T

  • @danilosantos9252
    @danilosantos9252 3 ปีที่แล้ว

    o meu não esta pegando os links, poderia me ajuda?

    • @TigerCodes
      @TigerCodes  3 ปีที่แล้ว

      Você pode dar mais detalhes? Se for de ajuda, baixe o código que está na descrição e compare com o seu para tentar achar o erro.

    • @danilosantos9252
      @danilosantos9252 3 ปีที่แล้ว +1

      @@TigerCodes obg, pelo feedback. Percebi que a importação do Js tinha que está lá no final da página para funcionar. Eu estava colocando dentro do Head e não está funcionando.

  • @treinonossodecadadia8014
    @treinonossodecadadia8014 ปีที่แล้ว

    no meu n funciona de jeito nenhum.. ate copiei e colei seu codigo la no github :/

    • @TigerCodes
      @TigerCodes  ปีที่แล้ว

      Qual erro que está mostrando?

    • @amandamachado1958
      @amandamachado1958 ปีที่แล้ว

      @@TigerCodes o meu está dando erro no tempo de rolagem, estou tentando rever o código

  • @miguel-tv2cq
    @miguel-tv2cq หลายเดือนก่อน

    herói

  • @nelson.costa.dev2536
    @nelson.costa.dev2536 2 ปีที่แล้ว

    Rapaz fiquei até tentado a comprar o curso de vc6.

    • @TigerCodes
      @TigerCodes  2 ปีที่แล้ว +1

      Obrigado pelo apoio, Nelson! Se quiser se inscrever não esqueça de usar o cupom na descrição :) Manda um inbox no Insta se precisar de ajuda.

  • @mateusdias722
    @mateusdias722 ปีที่แล้ว

    Safari só complica pro nosso lado ksksksksksk

    • @TigerCodes
      @TigerCodes  ปีที่แล้ว

      Agora já é compatível (finalmente) 🎉

    • @mateusdias722
      @mateusdias722 ปีที่แล้ว

      @@TigerCodes sss, eu já estou até usando num site de cliente aqui ksksksksk fiquei mó feliz q não vou precisar fazer aql trabalho td ksksksks

  • @tudooftoday7296
    @tudooftoday7296 ปีที่แล้ว

    Mais facil adicionar scrool-behavior:smooth;

    • @TigerCodes
      @TigerCodes  ปีที่แล้ว +1

      Sim, este tutorial tornou-se obsoleto agora que a propriedade scroll-behavior do CSS funciona no Safari. Algo que ainda é útil dele, porém, é que com JavaScript você consegue controlar a exata velocidade do scroll.

  • @mariadapenha4076
    @mariadapenha4076 3 ปีที่แล้ว

    Muito rápido,simplesmente não entendi nada.