La pagina scorre perché viene visualizzato/nascosto un elemento in testa alla pagina agendo sull'attributo di stile display.
Esempio:
codice:
<html>
  <head>
    <script type="text/javascript">
      function Vai() {
        var objProva = document.getElementById("prova");
        objProva.style.display = (objProva.style.display == "block") ? "none" : "block"; 
      }
    </script>
  </head>
  <body>
    <div id="prova" style="display:block;">testo da nascondere</div>
    <input type="button" value="clicca" onclick="Vai()" />
    <div style="height:1000px; border:1px solid red;">bla bla</div>
  </body>
</html>
Trovo lo scorrimento fastidioso, io avrei agito sulla proprietà visibility impostandola a hidden/visible.