滚动到页面元素的底部
Scroll To bottom of element on page
我希望实现点击锚标记并滚动到页面上的元素的效果。
我已经有这个jquery scrollTo。像这样:
$.scrollTo( this.hash, 1500, {
easing:'easeInOutCubic',
'axis':'y'
});
然而,我需要对齐它,以便元素在完成动画时位于视口的底部。页面上的每个部分都有不同的高度,所以我想它需要动态地获取元素的位置和高度。
我很难计算出我需要计算多少数字来实现这个目标。
编辑
我现在把它改成了这个
var section = $(this.hash);
var scrollPos = $(section).offset().top + ( $(window).height() - $(section).height() );
$('html, body').scrollTop( scrollPos );
但这仍然是错误的,"#about"部分现在是在页面的中间位置,而不是在视窗的底部对齐。
谢谢
-
获取元素高度$(element).height()
-
获取viewport的高度$(window).height()
-
获取元素的顶部位置$(element).offset().top
-
滚动页面到$(element).offset()。Top - ($(window).height()$(元素).height ())
试试:
var section = $(this.hash);
var scrollPos = section.offset().top + section.height() - $(window).height();
演示这里展示了如何滚动页面,使所选元素与窗口顶部对齐。
关于您要求将其对齐到底部的请求,我已经更正了链接帖子中的代码:
你所要做的基本上就是减去窗口高度和元素高度,如下所示:
$('html, body').animate({
scrollTop: $("#wmd-input").offset().top - $("#wmd-input").height() - $(window).height()
}, 2000)
我的示例中的#wmd-input元素是本页的答案文本区域,在浏览器中打开开发控制台,粘贴代码并在工作中看到它
相关文章:
- 将视口底部滚动到元素底部
- 如何使一个元素从网页的顶部跳到底部再跳回到顶部
- 使用JQuery从窗口底部修复元素
- 如何用javascript滚动html中pdf对象元素的底部
- 滚动到页面的底部元素
- 将元素与窗口底部对齐,但允许滚动到下面的内容
- 如何使用 jQuery 检测元素的顶部靠近浏览器底部
- 避免元素跳转到页面底部的正确方法
- 元素位于底部并从底部截止
- 使元素在页面底部消失
- 如何使用 jquery 在滚动到底部时正确从元素中删除隐藏类
- 如何让我的导航栏在到达元素时粘在元素的底部
- jQuery或JS,使元素离开屏幕底部并在顶部输入
- 如何检测浏览器滚动到每个元素的底部
- 将元素滚动到页面底部的视图中
- 当光标到达底部时,有没有办法防止contentEditable元素滚动
- 当滚动到顶部而不是底部时添加元素
- 用户到达页面底部.元素逐渐消失
- JQuery .css底部属性不应用css元素
- 定位顶部父元素的底部元素