use*_*462 2 javascript jquery scroll
我正在尝试这段代码:
function goToByScroll(id){
id = id.replace("link", "");
$('html,body').animate({
scrollTop: $("#"+id).offset().top},
'slow');
}
$("#sidebar > ul > li > a").click(function(e) {
e.preventDefault();
goToByScroll($(this).attr("id"));
});
Run Code Online (Sandbox Code Playgroud)
问题是当我点击列表的特定元素时,滚动会上升到窗口的顶部.但在我的情况下,我在顶部有一个固定的div,所以内容被这个div隐藏.好吧,我想在div之前停止滚动.
任何的想法?
您需要为顶部栏指定一个id(例如id ="header"),然后从scrollTop属性中减去该值:
$('html,body').animate({
scrollTop: ($("#"+id).offset().top-$('#header').outerHeight(true))+'px'},
'slow');
Run Code Online (Sandbox Code Playgroud)