考虑以下 JS 代码:
<script type="text/javascript">
$(function() {
// Check if landing on the page with a hash
if (window.location.hash.length) {
$('html,body').animate({scrollTop: 200}, 100);
return false;
}
// Same-page anchors
$('a[href*=#]').click(function() {
// ... find the target based on the div and animate the scrollTop property again
}
});
});
</script>
它的作用是首先检查是否登陆带有#anchor 的页面,或者用户是否单击同一页面的#anchor 并简单地为具有相应ID 的目标div 设置动画。
问题是这两个交替工作:如果您登陆一个带有井号的页面,该页面将动画到 div ID,但随后的同一页面链接不会被绑定的“点击”事件拦截(I'我也试过用 live() 绑定它,没有区别)
如果您使用干净的 URL 登陆页面,链接将再次起作用。我究竟做错了什么?