У мене на своєму веб-сайті встановлена розсувна панель.
Закінчивши анімацію, я встановив хеш так
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;
}
});
});
event.preventDefault()
:)