J'ai un panneau coulissant mis en place sur mon site Web.
Quand il a terminé l'animation, j'ai mis le hachage comme ça
function() {
   window.location.hash = id;
}(il s'agit d'un rappel, et le idest attribué plus tôt).
Cela fonctionne bien, pour permettre à l'utilisateur de mettre en signet le panneau, et aussi pour que la version non JavaScript fonctionne.
Cependant, lorsque je mets à jour le hachage, le navigateur saute à l'emplacement. Je suppose que c'est un comportement attendu.
Ma question est la suivante: comment puis-je éviter cela? Ie comment puis-je changer le hachage de la fenêtre, mais ne pas faire défiler le navigateur jusqu'à l'élément si le hachage existe? Une sorte event.preventDefault()de chose?
J'utilise jQuery 1.4 et le plugin scrollTo .
Merci beaucoup!
Mettre à jour
Voici le code qui change le panneau.
$('#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():)