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实际上不是必需的。