Tengo un panel deslizante configurado en mi sitio web.
Cuando terminó de animar, configuré el hash así
function() {
window.location.hash = id;
}
(esta es una devolución de llamada y id
se asigna anteriormente).
Esto funciona bien, para permitir al usuario marcar el panel como favorito, y también para que funcione la versión que no sea JavaScript.
Sin embargo, cuando actualizo el hash, el navegador salta a la ubicación. Supongo que este es el comportamiento esperado.
Mi pregunta es: ¿cómo puedo evitar esto? Es decir, ¿cómo puedo cambiar el hash de la ventana, pero no hacer que el navegador se desplace al elemento si existe el hash? ¿Algún tipo event.preventDefault()
de cosa?
Estoy usando jQuery 1.4 y el complemento scrollTo .
¡Muchas gracias!
Actualizar
Aquí está el código que cambia el panel.
$('#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()
:)