• 0
Sign in to follow this  
Paulo Reis

Detecção de barra de rolagem em Javascript

Question

Olá galera!

Estou chegando agora para o scriptbrasil, este é o 1o tópico que posto aki!

Queria saber se é possível, com javascript, detectar se a barra de rolagem está ativa. Ela ativada como automática, só aparece quando o tamanho do documento ultrapassa o tamanho da tela. Então, o quero descobrir na verdade é se ela está aparecendo ou não (essa explicação fica melhor que o 'ativa' que disse anteriormente).

alguém pode me ajudar?

Valeu!

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Oi Paulo, tudo bem? o/

Seja Bem-Vindo ao fórum. :D

Daria pra fazer isso com div....quer fazer isso com o documento todo? Ou seja, quer saber se está usando a barra lateral do navegador?

Se for isso:

<script>
window.onload=function(){
              if(document.body.scrollHeight>=document.height)
              alert("Apareceu a barra de rolagem")
}
              
</script>

Share this post


Link to post
Share on other sites
  • 0

cara, era isso mesmo....

mas não sei por que, o if tá sempre dando falso, e eu testei a condição tanto com ">=" quanto com "<".

e ai, o que posso fzer?

abraco!

Share this post


Link to post
Share on other sites
  • 0

coloca um alert antes do if para verificar os valores

alert(document.body.scrollHeight + '\n\n' + document.height);

Share this post


Link to post
Share on other sites
  • 0
coloca um alert antes do if para verificar os valores

alert(document.body.scrollHeight + '\n\n' + document.height);

então fernando...

é justamente esse comportamento que eu não estou entendendo, porque tudo que se refere aos valores, ele pula, como se os ifs fossem 'false'. da mesma maneira, ele não executa os alerts!

dá pra entender?

vlw abraço!

Share this post


Link to post
Share on other sites
  • 0

Paulo,

Fiz um teste aqui:

<script language="javascript" type="text/javascript">
<!--
window.onload = function(){
    alert(document.body.scrollHeight + '\n\n' + document.height);
}
-->
</script>

Só funcionou no Firefox, o IE não reconheceu "document.height", por isso o if sempre é falso no IE.

no IE use document.body.clientHeight

http://forums.microsoft.com/MSDN/ShowPost....=1&pageid=0

Share this post


Link to post
Share on other sites
  • 0

Detecção de barra de rolagem em DIV:

   $('divTeste').scrollTop = '1'; //Força atribuição de 1 à posição do scroll
                 
   if($('divTeste').scrollTop == '1')
     {
           alert("Apareceu a barra de rolagem");
      }
      else
       {
               alert("Não Apareceu a barra de rolagem");
       }

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this