我的页面顶部有一个固定的div,页面上有一些链接列表。用户可以单击一个链接运行onclick:
function setOffset(){
location.hash = offset; //where offset is some number I want as the hash
scrollTo(0, 40);
}
我想要发生的是跳转到散列链接,然后滚动额外的40以使项目进入视图并从固定div下面输出。问题是scrollTo跳转到页面顶部并杀死哈希。有人有主意吗?
答案 0 :(得分:0)
http://www.w3schools.com/jsref/met_win_scrollto.asp
scrollTo(xPos,yPos)
所以在你的代码中:
scrollTo(0, 40);
表示滚动到0位置(左边)和y位置40(距离顶部40像素)。您将需要计算哈希的位置,然后向其添加40,以滚动另外40个像素。您可以通过它的offSetTop属性来获取页面上元素的位置。
HTH。
编辑: 所以看起来在你的例子中你已经有了一个偏移量,我认为这是你试图滚动到的元素的偏移量,所以你的代码看起来像这样:
function setOffset(){
scrollTo(0,offset + 40);
}