有没有办法滚动到锚点而不是用javascript跳转(类似于平滑滚动)

tes*_*ere 2 javascript anchor scroll

我有一个带有编号锚标签的大文档,如下所示.还有一个文本框用于打入数字以转到使用window.location.hash的锚点

我也使用箭头键去下一个或前一个锚​​点.我想滚动到锚点,以给出一些方向感.

<a name="1">
some text
<a name="2">
some text
<a name="3">
Run Code Online (Sandbox Code Playgroud)

这是我的功能

function updatePageNumber()
{
    var pagenumber;
    pagenumber = document.getElementById('pageNumber').value;   
    window.location.hash =  pagenumber;
}
Run Code Online (Sandbox Code Playgroud)

跳到锚是非常难看的,人们在文本中失去了方向感.那么有没有办法滚动到JavaScript锚点.我知道有很多jQuery示例,但我不知道jQuery并且找不到JavaScript.

最重要的原因是我想在地址栏上看到我的页码!

Tro*_* SK 16

添加jQuery库.

使用以下脚本可以平滑滚动到所需的目标元素.

jQuery('html,body').animate({scrollTop: jQuery('#target').offset().top}, 1000);
Run Code Online (Sandbox Code Playgroud)

target是目标元素的id,1000是动画的持续时间.

  • 恢复旧问题并不意味着,你的解决方案中存在一个错误; 你需要引用`offset`对象的`top`,而不是偏移本身.换句话说:`jQuery('html,body').animate({scrollTop:jQuery('#target').offset().top},1000);` (13认同)
  • 我冒昧地申请@ ean5533的错误修复,因为它是现货.首先,我只是复制/粘贴答案的代码; 没用.大坝,开始寻找别的东西.后来看到了评论.Ups,它的作品! (2认同)