使用#anchors移动带有额外定位的滚动条

时间:2011-09-12 18:18:51

标签: javascript scrollbar anchor

是否可以相对于新的哈希标记更改滚动条的位置? 目前,页面使用#target滚动到目标元素的顶部,这是正常行为。有没有办法移动它,以便页面滚动到,例如,页面下方100px比锚标记(在锚标记之前添加额外的100px)?

不确定是否应该使用锚点或javascript的狡猾位置。不确定我是否真的能够改变锚点的位置,所以我希望能有一个javascript解决方案。

由于

1 个答案:

答案 0 :(得分:2)

您可以将这个问题的答案结合起来:On - window.location.hash - Change?

有一些额外的逻辑:

$(function(){
  var win = $(window); //cache your jq objects!
  function fixScrollTop(){
    win.scrollTop(win.scrollTop() + 100);
  }
  if(window.location.hash !== ""){
    fixScrollTop();
  }
  win.bind('hashchange', fixScrollTop);
});

哦,如果您可以控制URL中的#anchor,您可以(可能会根据您拍摄的浏览器兼容性)将其设置为具有ID的任何元素的ID,以使浏览器滚动到它