Ho un pannello scorrevole impostato sul mio sito Web.
Quando ha finito di animare, ho impostato l'hash in questo modo
function() {
window.location.hash = id;
}
(questo è un callback, e id
viene assegnato in precedenza).
Funziona bene, per consentire all'utente di aggiungere un segnalibro al pannello e anche il funzionamento della versione non JavaScript.
Tuttavia, quando aggiorno l'hash, il browser passa alla posizione. Immagino che questo sia un comportamento previsto.
La mia domanda è: come posso impedirlo? Vale a dire come posso modificare l'hash della finestra, ma il browser non può scorrere fino all'elemento se l'hash esiste? Una sorta event.preventDefault()
di cosa?
Sto usando jQuery 1.4 e il plugin scrollTo .
Grazie molto!
Aggiornare
Ecco il codice che cambia il pannello.
$('#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()
:)