我正在开发一个MVC网站并注意到一种模式,现在我正在使用锚点。寻找jquery“Smooth Scrolling”似乎不是解决方案,因为我不需要“平滑滚动” - 我需要在URL中指定的锚点立即加载页面而不从顶部开始。我已经查看了最基本的jQuery $("#").scroll()
函数,我仍然有症状。
当我导航到使用锚点的页面时,例如http://localhost:59334/Applicants/ApplicantBaseContactHistories?page=10&SelectedCampus=CRA#Paging
,我看到页面闪烁的时间可能为0.5秒,然后跳转到正确的位置。
是否存在一种技术,无论是通过Controller Action技术还是jQuery技术,页面在锚点位置渲染而不是先在顶部加载然后跳转到锚点?
澄清一下,有两种可能的情况:
如果URL中没有锚点,则通常会在顶部加载页面。但是,如果URL中有锚点,那么我需要在该锚点位置呈现页面。
答案 0 :(得分:1)
您可以使用offest()
方法,例如
<div id="aboutUs">
About us content...
</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id="section">
content...
</div>
和JS
$(function() {
$(document).scrollTop( $("#section").offset().top);
});
自动从URL获取哈希值
var url = window.location.href;
var hash = url.substring(url.indexOf('#'));