Jump to content
danicarla

Auto Scroll de acordo com conteúdo.

Recommended Posts

Olá, pessoas, bom dia
Estou tentando fazer um autoscroll de acordo com o conteúdo que tem na pagina.

Atualmente estou fazendo assim:

<script src="jquery.js"></script>
<script>
setInterval(function(){
    $("html, body").animate({ scrollTop: $(document).height() }, 200000);
},2000);
</script>


Desse jeito eu seu que uma pagina com 300 linhas irá demorar cerca de 1min e 30 segundos para chegar até o final.
Mas se precisar mudar o tamanho da fonte  ou inserir imagens já terei que calcular novamente o tempo, será que existe uma maneira de fazer isso pelo tamanho do conteúdo?

Por exemplo para pessa pagina eu quero que demore cerca de 5 minutos para chegar até o rodape.. para outra pagina cerca de 3 minutos independente do conteudo?

Share this post


Link to post
Share on other sites

@danicarla Serial algo assim que você procura?

var 
  tempoDeTransicao = 180000, // 180000 = 3 minutos
  comprimentoDoDocumento,
  comprimentoDoBrowse;

$(function(){
  comprimentoDoDocumento = $(document).height();
  comprimentoDoBrowse = $(window).height();
  
  if(comprimentoDoDocumento > comprimentoDoBrowse)
  {
    $('html').animate({scrollTop: comprimentoDoDocumento}, tempoDeTransicao);
  }
});

 

Share this post


Link to post
Share on other sites

Gabriel, é isso mesmo, poxa tão simples rs não pensei em recuperar o tamanho da tela... e calcular o tamanho

Só fiquei com uma duvida agora, será que consigo habilitar o botão de seta para baixo ou para cima, caso o usúario queira descer um pouco ou subir um pouco a tela enquanto ela estiver rolando

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Sapinn
      Fala galera tudo beleza? Então alguém sabe como adicionar e remover campos de texto com js. Tipo teria um botão com um + "mais" para adicionar novos campos e junto a estes campos teria um ícone com um lixeira para remover, toda vez que fosse clicado nesse ícone o campo seria removido, apenas aquele campo. Encontrei um código para adicionar um campo mas a parte de remover ta dando dor de cabeça
      <!DOCTYPE html> <html lang="pt-br"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Pagina</title>     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"> </head> <body>     <form id="myForm">         <div id="lines"></div>         <button type="button" onclick="addInput('lines')">+</button>         <input type="submit" value="Enviar">       </form>             <script>           var formLine = 1;                 function addInput(divName) {                 var newdiv = document.createElement('div');                 newdiv.innerHTML += '<input type="text" name="produto" id='+formLine+'>';                 newdiv.innerHTML += ' <i class="bi bi-trash-fill"></i>';                 document.getElementById(divName).appendChild(newdiv);                 formLine++;             }         addInput('lines');       </script> </body> </html>  
    • By henriquers
      Bom Dia a todos !
       
      Gostaria de saber se tem algum modo de executar um evento em um option do select por exemplo: Um select com vários produtos aparecendo apenas o código do produto e a descrição de cada um, e quando passa o mouse sobre um deles no select inicia um evento que carrega uma imagem do produto ao lado do select sem precisar clikar no produto para aparecer a imagem.
      Eu consegui fazer colocando um onchange no select, mas gostaria um que não precise clicar no produto para aparecer a imagem, carregando a imagem quando passa o mouse nas opções do select.
       
       
      Desde já agraço a ajuda.
    • By Febatera7
      Preciso construir um microsserviço, apenas no lado do servidor (Node.js) que leia menções e comentários em postagens em que o @ do meu cliente foi marcado, em seguida, salve essas mensagens em nosso banco de dados, para especialistas de atendimento para responderem mais tarde.
      Este microsserviço também deve ser capaz de ler e salvar as fotos destas postagens e comentários.
      Para Node.js, vi que não há SDK, então procurei os terceiros que o próprio Facebook indica, mas não encontrei nada sobre ler e responder a menções e comentários em postagens.
      Tentei utilizar as bibliotecas fb e fbgraph, mas nenhuma delas me dá as opções para ler postagens em que fui marcado, apenas as do meu próprio feed.
      Alguém pode me ajudar? Por onde posso começar? Há alguma outra biblioteca que consiga utilizar?
    • By Sapinn
      Fala galera, tudo blz? Então estou com uma dúvida um pouco boba mas que não consegui resolver o problema ainda. Estou desenvolvendo um site para agendamento de serviços e resolvi fazer a pagina principal como uma dashboard (área de administrador) onde seria muito mais fácil para o usuário registrar os serviços entre outras coisas, enfim, estou com um problema quanto ao layout da página. Normalmente o dashboard tem um menu à esquerda e o conteúdo  fica à direita quando ocorre o clique no botão hambúrguer( Aquele que tem três tracinhos) esse menu é recolhido e esse conteúdo que fica a direita fica centralizado, às vezes, em muitos dashboard esse menu só é um pouco recolhido ficando amostra apenas os ícones enquanto o conteúdo da direita fica um pouco mais centralizado. A pergunta é como eu posso fazer isso? Outra coisa, na responsividade quando a página diminui o menu da uma retraída e o conteúdo fica centralizado quando é clicado no botão hambúrguer o menu não afasta o conteúdo de volta e sim fica por cima desse conteúdo. Não sei como fazer isso, eu estou melhorando quando ao desenvolvimento front-end mas ainda não é muito a minha praia. Eu tentei fazer isso com css grid (que por sinal é algo que eu não tenho tanta pratica, já que eu sou melhor com flebox) mas não funcionou e o código só ficou ruim e confuso. Se alguém puder me ajudar ficaria muito grato
       
      Não tem muito coisa ainda mas irei disponibilizar o código que desenvolvi até agora:
       
      <!DOCTYPE html> <html lang="pt-br"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Sistema de Gerenciamento</title>     <link rel="stylesheet" href="assets/css/style.css">     <link rel="icon" href="assets/images/icone-logo.png">     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.4.1/font/bootstrap-icons.css"> </head> <body>     <header>         <div class="bar-header">             <i class="bi bi-list"></i>         </div>     </header>     <nav class="menu">         <div class="user">             <i class="bi bi-person-circle"></i>             <p>Nome do Usuário</p>         </div>         <ul>             <li class="active"><a href=""><i class="bi bi-house-fill"></i> Inicio</a></li>             <li><a href=""><i class="bi bi-calendar-plus-fill"> </i>Adicionar Serviço</a></li>             <li><a href=""><i class="bi bi-person-plus-fill"></i> Adicionar Admin</a></li>             <li><a href=""><i class="bi bi-file-earmark-post-fill"></i> Configurações de Nota</a></li>             <li><a href=""><i class="bi bi-file-person"></i> Configurações da Conta</a></li>             <li><a href=""><i class="bi bi-box-arrow-right"></i> Sair</a></li>         </ul>     </nav>     <main></main>     <footer></footer> </body> </html>  
       
      *{     padding: 0;     margin: 0; } body{     font-family: Arial, Helvetica, sans-serif;     background-color: #e5e5e5; } .bar-header{     background-color: #4285f4;     position: fixed;     color: #fff;     width: 100%;     height: 40px;     font-size: 37px;     padding: 8px 16px;     z-index: 1; } .menu{     background-color: #26353e;     width: 260px;     height: 100vh;     position: fixed;     padding-top: 65px; } .menu ul li{     list-style: none;     padding: 15px;     cursor: pointer;     border-bottom: 1px solid #26353e; } .menu ul li:hover{     background-color: #4285f4;      } .menu li a{     color: #fff;     font-size: 18px;     text-decoration: none;     } .menu i{     font-size: 27px; } .menu .active{     background-color: #4285f4; } .user{     margin-left: 50px;     padding-bottom:10px ; } .user i{     font-size: 120px;     color: #4285f4; } .user p{     font-weight: bold;     font-size: 18px;     color: #fff; }
       
    • By acneto.frc
      Boa noite a todos.
      Uso Nodejs + express + Mysql
      O retorno abaixo é de retorno da Model quando consultado um registro :id
      Preciso extrair para duas variáveis diferentes a chave  e o valor de um objeto javascripr.
       
      RowDataPacket {
        liv_codigo: 5,
        liv_titulo: 'Guia Mangá - Microprocessadores',
        liv_edicao: '1ª Edição',
        liv_isbn: '987-321',
        liv_ano: 2016,
        aut_codigo: 2,
        edt_codigo: 3,
        liv_ativoinativo: 'A'
      }
       
      Este retorno é resultado da uma consulta SQL  de um registro (:id) na tabela
      Preciso armazenar em arrays diferentes a chave e o valor.
       
      Abraços e obrigado.
       
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.