Eu tenho um painel deslizante configurado no meu site.
Quando terminou de animar, defini o hash da seguinte maneira
function() {
window.location.hash = id;
}
(trata-se de um retorno de chamada e id
é atribuído anteriormente).
Isso funciona bem, para permitir que o usuário adicione o painel aos favoritos e também para que a versão não JavaScript funcione.
No entanto, quando eu atualizo o hash, o navegador pula para o local. Eu acho que esse é um comportamento esperado.
Minha pergunta é: como posso evitar isso? Ou seja, como posso alterar o hash da janela, mas não fazer com que o navegador role para o elemento se o hash existir? Algum tipo event.preventDefault()
de coisa?
Estou usando o jQuery 1.4 e o plugin scrollTo .
Muito Obrigado!
Atualizar
Aqui está o código que altera o painel.
$('#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()
:)