我顺利滚动。但它的工作不正确。 它仅在您第二次按下时触发,但哈希值会立即在URL中更改。
$('nav').click(function(e){
if(window.location.hash == "#block1") {
$('html,body').animate({
scrollTop: ($('#block1').offset().top)
})
}
else if(window.location.hash == "#block2") {
$('html,body').animate({
scrollTop: ($('#block2').offset().top)
})
}
})
答案 0 :(得分:0)
您应该阻止点击事件的默认行为:
$('nav').click(function(e){
e.preventDefault();
//continue...
希望这有帮助。
编辑:
这应该可以解决问题:
$('nav').click(function(e){
e.preventDefault();
var section = $(this).attr('href');
if(section == "#block1") {
window.location.hash = "#block1";
$('html,body').animate({
scrollTop: ($('#block1').offset().top)
});
}
else if(section == "#block2") {
window.location.hash = "#block2";
$('html,body').animate({
scrollTop: ($('#block2').offset().top)
});
}
});
瓦列