gpt4 book ai didi

javascript - ScrollTo... 如何滚动到 # 上方一定数量的像素?

转载 作者:行者123 更新时间:2023-11-28 09:43:13 25 4
gpt4 key购买 nike

好吧,我的问题是我有一个固定的导航栏,占据了屏幕顶部 115 像素的空间。当您滚动“到”某个部分时,固定栏会覆盖该部分的一部分。我需要它做的是在它应该滚动到的部分上方滚动大约 130 像素(导航栏为 115 像素,还有一点额外的空间,这样看起来就不会太拥挤)。

set up a quick and dirty JSFiddle这样你就可以明白了。

我认为我应该在其中使用 offset 或 over,但它们似乎没有做任何事情:

$('#navigation a').click(function(){//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
$.scrollTo( this.hash, 1500, {easing:'elasout'});
});

Here是我从中获取脚本和示例的地方(如果它们可以帮助您)。

我还希望消除附加到 URL 的 #hash 链接,以防止淹没历史记录。实际上没有必要使用它们,因为导航栏是固定的,您只需单击导航上的新链接即可访问网站的任何部分。但这不是主要问题。

感谢您的帮助。

最佳答案

简单的例子!注意:不使用示例中的插件 - 仅在 Firefox 和 Chrome 中测试

演示:http://jsfiddle.net/6DTLc/4/

  $('ul#navigation').find('a').on('click', function(e) {
var
link_href = $(this).attr('href'),
$linkElem = $(link_href),
$linkElem_scroll = $linkElem.get(0) && $linkElem.position().top-115;

$('html, body')
.animate({scrollTop: $linkElem_scroll}, 'slow');

e.preventDefault();
});

关于javascript - ScrollTo... 如何滚动到 # 上方一定数量的像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12127575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com