jQuery goToByScroll offset
jQuery goToByScroll offset
我正在使用goToByScroll脚本,我需要它忽略我的页面的第一个40px,因为我有一个固定的导航,导致所有的位置都是40px太低。
下面是我的代码:
<script>
function goToByScroll(id){
$('html,body').animate({scrollTop: $("#"+id).offset().top},'500');
}
</script>
解决方案吗?
计算偏移量时只需包含40像素…
$('html,body').animate({scrollTop: $("#"+id).offset().top - 40},'500');
或者像这样…
$('html,body').animate({scrollTop: $("#"+id).offset().top - $("#nav").height() },'500');
虽然@Praveen的答案是错误的,但他在那里放了一个很好的.stop()
,以防止多次射击相互干扰。
<script>
// assuming `#nav` identifies your navigation element...
function goToByScroll(id){
$('html,body').stop().animate({scrollTop: $("#"+id).offset().top - $("#nav").height() },'500');
}
</script>
$('html, body').stop().animate({ scrollTop: 40 }, 500);
<script>
function goToByScroll(id){
$('html,body').animate({scrollTop: $("#"+id).offset().top + 40},'500');
}
</script>
相关文章:
- Offset with Waypoint.Inview()
- this.offset不是单击函数中的函数
- jQuery position()/offset()值在重载时出错(chrome)
- offset()-top-XX在Webkit v Firefox/IE中给出了不同的结果
- jQuery.offset()的行为相当糟糕
- jQuery和Javascript:offset.top()没有响应
- 将event.offsetX和event.offset Y的坐标转换为webGL本机坐标
- .animate() 位置覆盖手动 .offset() 赋值
- .offset() 并检查 jQuery 中的位置
- 报告了错误的 .offset().top 值
- 使用 offset().top 记录错误,为什么
- 如何在 jQuery 中获取相对于父级的 offset()
- 如何为在Chrome中应用了css缩放的img获得正确的jQuery offset()
- offset().top 在 IE7 中不起作用
- 为什么 .offset() 位置是不可预测的
- jQuery Uncaught TypeError with offset().left
- jQuery 更新 var settings.offset 时页面加载
- jQuery的css(),offset()和position()函数不返回CSS属性的小数部分
- 如何使用 WebGL drawElements offset
- jQuery goToByScroll offset