1

我了解您如何通过像这样引用它们来轻松滚动到锚点......

<a href = "#div1">Click here to go to div!</a>
<div id = "div1">Stuff in your div</div>

我遇到了这个问题,因为我在顶部有一个音乐播放器,它的位置设置为固定的,所以当我尝试锚点时它会切断我的 div 的顶部。

如果您想要一个示例,请在此处查看我的页面。单击帖子的图片开始播放歌曲,然后单击应该带您到正确帖子的“查看帖子”,但您可以看到顶部被切断。

有没有一种简单的方法来获得某种类型的偏移或其他东西,所以我可以解决这个问题。另外,我可以这样做,这样它就不会将网站的 URL 更改为最后有 /#somethinghere 吗?

4

1 回答 1

2

这可以通过 javascript 实现,偏移量变量必须根据所需的偏移量进行更改

Javascript:

function getpos(myElement)
        {
            var offset = 20;
            window.scrollTo(0, 0);
            var rect = myElement.getBoundingClientRect();
            window.scrollTo(rect.left , rect.top - offset);
        }

HTML:

<div id="yourElementId" onclick="getpos(this);">image or another element</div>

窗口将滚动到 ID 为“yourElementId”且偏移量为“20”的单击元素

于 2013-08-03T01:59:47.140 回答