Я создаю страницу с 5 div. Я использую следующий код JavaScript для плавного перемещения между ними по горизонтали:
$(function () {
$('ul.nav a').bind('click', function (event) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollLeft: $($anchor.attr('href')).offset().left
}, 1500,'easeInOutExpo');
event.preventDefault();
});
});
Дивы примерно такие:
<div class="section white" id="section5">
<h2>Technologies</h2>
<p>
text
</p>
<ul class="nav">
<li><a href="#section1">1</a></li>
<li><a href="#section2">2</a></li>
<li><a href="#section3">3</a></li>
<li><a href="#section4">4</a></li>
<li>5</li>
</ul>
</div>
Я хочу начать с элемента div # 3 при загрузке страницы. Единственное решение, которое сработало, — это функция onload:
window.onload = window.location.hash = 'section3';
но, к сожалению, когда я загружаю страницу, URL-адрес
http://localhost:51551/trial1/MainPage.aspx#section3
даже когда я нажимаю на якоря другой страницы (div) и перехожу туда, URL-адрес привязан к MainPage.aspx#section3.
Я попробовал решения здесь: jQuery: как прокрутить до определенного якоря/div при загрузке страницы?
Но я думаю, что, поскольку я уже использую Javascript для навигации по div, он не работает. Я хочу либо:
Удалите часть адреса #section3 и продолжайте использовать функцию загрузки.
Еще лучше перейти к разделу 3 в начале и изменить URL-адрес при изменении раздела.
Я использую Visual Studio 2010 Express с ASP.NET, JS и C#. в Windows 8.1