Вопрос

Рассмотрим следующий код:

<a href="#label2">GoTo Label2</a>
... [content here] ...
<a name="label0"></a>More content
<a name="label1"></a>More content
<a name="label2"></a>More content
<a name="label3"></a>More content
<a name="label4"></a>More content

Есть ли способ эмулировать нажатие на кнопку " GoTo Label2 " ссылка для прокрутки до соответствующего региона на странице с помощью кода?

РЕДАКТИРОВАТЬ : приемлемой альтернативой будет прокрутка до элемента с уникальным идентификатором, который уже существует на моей странице. Я бы добавил теги привязки, если это жизнеспособное решение.

Это было полезно?

Решение

Этот JS, как правило, работал хорошо для меня, если вы также указали идентификатор элемента:

document.getElementById('MyID').scrollIntoView(true);

Это хорошо, поскольку он также размещает прокручиваемые элементы div и т. д., чтобы содержимое было видимым.

Другие советы

Использование JavaScript:

window.location.href = '#label2';

Если вам нужно сделать это с сервера или кода, вы можете просто запустить этот Javascript и зарегистрировать его в качестве сценария запуска для этой страницы.

При переходе на якорь со стороны сервера, примером является c #.

ClientScript.RegisterStartupScript(this.GetType(), "hash", "location.hash = '#form';", true);

Полагаю, это сработает.

window.location="<yourCurrentUri>#label2";

Решение

document.getElementById('MyID').scrollIntoView(true);

хорошо работает почти во всех браузерах, хотя я заметил, что в некоторых браузерах или на некоторых мобильных устройствах (например, в некоторых версиях Blackberry) " scrollIntoView " функция не распознана, поэтому я хотел бы рассмотреть это решение (немного страшнее предыдущего):

window.location.href = window.location.protocol + "//" + window.location.host + 
                       window.location.pathname + window.location.search + 
                       "#MyAnchor";

Если элемент является тегом привязки, вы должны быть в состоянии сделать:

document.getElementsByName('label2')[0].focus();

нет " # " когда вы используете window.location.hash

вы можете просто открыть новый URL с добавленным именем, например http://www.example.com/mypage.htm#label2

В JavaScript

location.href = location.href + '#label2';
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top