У меня есть скользящая панель, настроенная на моем сайте.
Когда он закончил анимацию, я задал хэш так:
function() {
window.location.hash = id;
}
(это обратный вызов, а id
назначается ранее).
Это хорошо работает, чтобы пользователь мог добавлять закладки в панель, а также для версии, не поддерживающей JavaScript.
Однако, когда я обновляю хэш, браузер переходит к местоположению. Я предполагаю, что это ожидаемое поведение.
Мой вопрос: как я могу это предотвратить? То есть как я могу изменить хеш окна, но не, чтобы браузер просматривал элемент, если хеш существует? Какой-то тип event.preventDefault()
?
Я использую jQuery 1.4 и scrollTo plugin.
Большое спасибо!
Update
Вот код, который изменяет панель.
$('#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;
}
});
});