Chr*_*ill 0 javascript jquery plugins scroll
我希望实现单击锚标记的效果,并滚动到页面上的元素.
我已经用jquery scrollTo了.像这样:
$.scrollTo( this.hash, 1500, {
easing:'easeInOutCubic',
'axis':'y'
});
Run Code Online (Sandbox Code Playgroud)
但是,我需要对齐它,以便元素在完成动画时位于视口的底部.页面上的每个部分都有不同的高度,因此我需要动态获取元素的位置和高度.
我很难弄清楚我需要计算什么数字来实现这个目标.
编辑
我现在把它改成了这个
var section = $(this.hash);
var scrollPos = $(section).offset().top + ( $(window).height() - $(section).height() );
$('html, body').scrollTop( scrollPos );
Run Code Online (Sandbox Code Playgroud)
但这仍然是错误的,'#about'部分现在是点击页面的一半,而不是在视口底部对齐.
谢谢
获取元素的高度$(元素).height()
获取视口的高度$(窗口).height()
得到元素的最高位置$(element).offset().top
将页面滚动到$(元素).offset().top - ($(window).height() - $(element).height())
| 归档时间: |
|
| 查看次数: |
3595 次 |
| 最近记录: |