Как я могу обновить window.location.hash, не перепрыгивая документ?
У меня есть скользящая панель на моем сайте.
Когда он закончил анимацию, я установил хеш так
function() {
, window.location.hash = id;
}
(это обратный вызов, иid
назначен ранее).
Это хорошо работает, позволяя пользователю создавать закладки для панели, а также для работы без версии JavaScript.
Однако, когда я обновляю хеш, браузер переходит на место. Я предполагаю, что это ожидаемое поведение.
Мой вопрос: как я могу предотвратить это? То есть как я могу изменить хеш окна, ноне браузер прокручивает до элемента, если хеш существует? Что-то подобноеevent.preventDefault()
Такие вещи?
Я использую JQuery 1.4 иscrollTo плагин.
Большое спасибо!
ОбновитьВот код, который меняет панель.
$('#something a').click(function(event) {
event.preventDefault();
var link = $(this);
var id = link[0].hash;
$('#slider').scrollTo(id, 800, {
onAfter: function() {
link.parents('li').siblings().removeClass('active');
link.parent().addClass('active');
window.location.hash = id;
}
});
});