Pergunta

Eu tenho o seguinte código JavaScript.

Quando a página é carregada, ela é rolada para a posição correta. Quando clico no link para executar a função, a página rola na parte superior da página.

Como faço para corrigir isso?

<html>
    <head>
        <script  type="text/javascript">
            function scroll() {
                window.scrollTo(0, 400)
            }
        </script>
        <title></title>
    </head>
    <body onload="window.scrollTo(0, 400)">
        <img src="a.jpg"/>
        <a href="#" onclick="scroll">comments1</a>
    </body>
</html>
Foi útil?

Solução

Usar

onclick="scroll(); return false;"

Isso deve consertar isso.

Outras dicas

Para adicionar um pouco mais de detalhes, com o return false;, o evento de clique continua depois que a página é rolada e o evento de clique segue o href para #, que é o topo da página. Uma maneira alternativa de consertar isso é:

<a href="javascript:void(0);" onclick="scroll">comments1</a>

Voltar false é melhor, IMO, mas isso também faria o truque.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top