我的网站顶部有一个浮动导航栏,我使用以下代码滚动到各个div
锚点。
<script type="text/javascript">
$(document).ready(function () {
$('a[href^="#"]').on('click', function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top - 100 // floatnav height
}, 900, 'swing', function () {
window.location.hash = '1' + target;
});
});
});
</script>
我希望能够根据锚点使偏移量不同。其中一些是完整的页面图像,不需要偏移,因为导航栏后面没有真正丢失,而有些则以文本开头,因此导航栏需要位于它们上方,以便它不会隐藏内容。
答案 0 :(得分:0)
您可以在目标锚点的属性中存储每个部分的偏移量,例如:
<a name="example" data-offset="100">Example</a>
然后,您可以在点击处理程序中访问此属性,如下所示:
var offset = $(target).attr('data-offset')
然后你需要做的就是从元素的偏移量中减去额外的偏移量。