Запретить якорям толкать страницы вниз (HTML) - PullRequest
0 голосов
/ 20 февраля 2009

У меня есть div с style = "overflow: auto" с некоторым текстом в нем. В этом тексте есть несколько якорей, на которые у меня есть ссылки слева от div (не внутри div), и каждый раз, когда я нажимаю, чтобы перейти к якору, эта страница переходит вниз, как якорь внизу страницы.

Есть ли способ предотвратить это?

<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>

РЕДАКТИРОВАТЬ: я ни использую Javascript, ни iframes

РЕДАКТИРОВАТЬ: протестировано в Firefox 3

Ответы [ 3 ]

0 голосов
/ 20 февраля 2009

У вас может быть только один id на страницу (id2, id3, id4 и т. Д.). У вас есть id2 в списке 10 раз, что, скорее всего, приведет к разрыву вашей ссылки. Кроме того, вы не можете начать id с знаком фунта; действительные идентификаторы начинаются с ([A-Za-z]).

0 голосов
/ 20 февраля 2009

Это встроенная функциональность браузера. Если вы хотите нарушить его, не используя javascript, то вы можете также зарядить ад водным пистолетом, потому что вы не добьетесь успеха.

Использование простого фреймворка, такого как jQuery, скорее всего, прояснит это всего за пару строк кода. Вы можете прокручивать элементы в поле зрения и предотвращать активность по умолчанию или привязки.

0 голосов
/ 20 февраля 2009

Мне кажется, что все, что происходит, заключается в том, что браузер пытается перенести ваш якорь в верхнюю часть страницы, что является нормальным поведением в этой ситуации. Так что это не столько прокрутка вниз, сколько попытка перевести ссылку на верх страницы, а попадание в нижнюю часть полосы прокрутки до того, как она туда попадет.

Хотя пример кода может быть полезен.

...