小编典典

在URL中没有#的情况下使用锚点滚动

html

我需要使用浏览整个页面anchor tag

现在我正在做:

<a href="#div1">Link1</a>

<div id='div1'>link1 points me!!</div>

当我单击Link1时,此方法工作正常,页面滚动到ID为“ div1”的div。
关键是,我不想更改#div单击后的后缀为URL的URL Link1

我尝试了锚href

void(0);

location.hash='#div1';
return false;

e.preventdefault;

如何避免更改URL?


阅读 351

收藏
2020-05-10

共1个答案

小编典典

从Jeff Hines的jQuery动画中获得以下答案:

function goToByScroll(id){
    $('html,body').animate({scrollTop: $("#"+id).offset().top},'slow');
}

如果您使用的是jQuery,请不要忘记将库添加到项目中。

编辑:另外,请确保您仍然“返回false”。在链接的点击处理程序中,否则仍会在您的网址中添加“#div1”(感谢@niaccurshi)

2020-05-10