jQuery滚动停止在页面底部附近
|
我正在使用jquery滚动到页面的各个部分。
这是代码:
// Scroll to element
$(\'#menu li a\').click(function(){
var elementId = $(this).attr(\'href\');
$(\'html, body\').animate({ scrollTop: $(elementId).offset().top }, 1600);
return false;
});
<ul id=\"menu\">
<li><a href=\"#item1\">1</a></li>
<li><a href=\"#item2\">2</a></li>
</ul>
<div id=\"item-1\">placeholder-1</div>
<div id=\"item-2\">placeholder-2</div>
如您所见,我正在从菜单链接中获取目标元素的href(#id),然后滚动到目标元素。
但是问题在于,我的目标元素一直位于页面底部,并且当页面滚动到最后时,该元素的顶部无法滚动到页面顶部,因为存在底部没有足够的页面...我说得通吗?
我正在尝试使用css或jquery制定一种解决方案,这意味着无论页面的高度如何(或底部的填充/边距),单击菜单项时该元素都将位于视口的顶部。
是否可以使用JavaScript根据视口的高度添加更多填充?我是否使用某种溢出技巧?
没有找到相关结果
已邀请:
2 个回复
联海
,而
在
的底部,那么您将滚动至页面底部,而当您希望将
移至窗口的顶部时,则将其移至窗口的底部。 我认为您唯一的选择是迫使3英镑更高。像这样:
诸如此类的操作会将(append)空的ѭ7附加到内容的底部,此额外的
将具有与浏览器视口相同的高度,并且此额外的高度将使您始终可以将元素一直滚动到顶部视口。
磐剩
到
。我相信这是一个更私人的答案,因此您可以按照自己的意愿做任何事情,增加填充,边距... 但是我将设置最小高度,以使屏幕可以滚动到所需的项目。 更新资料 嗯,对。我没有考虑动态内容。如果内容变大,则身体最小高度可能无法解决问题。