Pergunta

Eu tenho uma div com style = "overflow: auto" com algum texto nele. Esse texto tem algumas âncoras, que tenho ligações à esquerda do div (não dentro da div) e toda vez que eu clicar para ir para uma âncora, th página vai para o fundo, como a âncora foi na parte inferior da página.

Existe alguma maneira de impedir que isso aconteça?

<a href='#id2'>Link</a>
<div style='width: 100px; overflow: auto;'>
Text Inside, Big text with <hr id='#id10' /> here
Text Inside, Big text with <hr id='#id5' /> here
Text Inside, Big text with <hr id='#id6' /> here
Text Inside, Big text with <hr id='#id27' /> here
Text Inside, Big text with <hr id='#id24' /> here
Text Inside, Big text with <hr id='#id20' /> here
Text Inside, Big text with <hr id='#id21' /> here
Text Inside, Big text with <hr id='#id23' /> here
Text Inside, Big text with <hr id='#id22' /> here
Text Inside, Big text with <hr id='#id2' /> here
<div>

EDIT: Eu sou nem usando Javascript nem Iframes

EDIT: Testado no Firefox 3

Foi útil?

Solução

Esta é a navegadores funcionalidade nativa. Se você quiser interrompê-lo sem o uso de javascript, então você pode muito bem cobrar o inferno com uma pistola de água, porque você não vai ser muito bem sucedido.

Usando um quadro simples como jQuery provavelmente esclarecer isso em apenas algumas linhas de código. Você poderia rolar elementos em vista, e impedir a atividade padrão ou âncoras.

Outras dicas

Parece-me que tudo o que está acontecendo é que o navegador que tentando tirar sua âncora para o topo da página, que é o comportamento é normal nesta situação. Portanto, não é de rolagem para a parte inferior tanto como tentar obter o seu link para o topo da página, mas bater no fundo da barra de rolagem antes que ele chegue lá.

Alguns código exemplo seria útil embora.

Você pode ter apenas um id por página (ID2, ID3, id4, etc.) Você tem ID2 listadas 10 vezes que é mais provável que causam o seu link para quebrar. Além disso, você não pode iniciar ids com um sinal de libra; IDs válidos começar com ([A-Za-z]).

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