jQuery移动到页面加载的锚点位置

我有一个简单的页面设置,如:

<div id="aboutUs"> About us content... </div> <div id="header"> Header content... </div> 

当页面加载时,我需要页面自动向下滚动(不需要animation)到#header ,所以用户不能看到关于我们div,除非他们向上滚动。

#aboutUs具有固定的高度,所以不需要任何variables来确定高度或任何东西……如果甚至需要的话。

我遇到了另一个问题 ,试图修改我的情况的一些答案,但似乎没有任何工作。

任何帮助,将不胜感激。

描述

你可以使用jQuery的.scrollTop().offset()方法来做到这一点

看看我的示例和这个jsFiddle示范

样品

 $(function() { $(document).scrollTop( $("#header").offset().top ); }); 

更多信息

  • jsFiddle示范
  • jQuery.scrollTop()
  • jQuery.offset()

你试过JQuery的scrollTo方法吗? http://demos.flesler.com/jquery/scrollTo/

或者你可以扩展JQuery并添加你的自定义代码:

 jQuery.fn.extend({ scrollToMe: function () { var x = jQuery(this).offset().top - 100; jQuery('html,body').animate({scrollTop: x}, 400); }}); 

然后你可以调用这个方法

 $("#header").scrollToMe(); 

把它放在页面底部的正文标签之前。

 <script> if (location.hash) { location.href = location.hash; } </script> 

jQuery实际上不是必需的。