jQuery:如何检测页面刷新时返回的偏移量?

发布于 2024-10-24 01:07:11 字数 105 浏览 4 评论 0原文

如果您使用 $("body").offset() onready,即使 url 包含锚点,结果也始终为 0。

有没有更好的方法来获取页面实际解析到的偏移量?

谢谢!

If you use $("body").offset() onready the result is always 0, even if the url includes an anchor.

Is there a better way to get the offset of where the page will actually resolve to?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苹果你个爱泡泡 2024-10-31 01:07:11

那是因为 $("body").offset() 返回正文相对于页面的顶部和左侧值。

您可能需要使用。

$(window).scrollTop();

如果您想要滚动位置的值,

//this will alert the scroll pos on load
$(document).ready(function(){

    var scrollPos = $(window).scrollTop();
    alert(scrollPos);

});

Thats because $("body").offset() returns the top and left values of the body relative to the page.

You probably want to use

$(window).scrollTop();

if you want the value of the scroll position.

//this will alert the scroll pos on load
$(document).ready(function(){

    var scrollPos = $(window).scrollTop();
    alert(scrollPos);

});
眼中杀气 2024-10-31 01:07:11
$.fn.extend({
  scrollTo : function(speed, easing) {
    return this.each(function() {
      var targetOffset = $(this).offset().top;
      $('html,body').animate({scrollTop: targetOffset}, speed, easing);
    });
  }
});
$('#scroll-to').scrollTo(1000);

/* body offset start */ $('body').offset().top 
/* body offset end */  $('body').height() 

但是 $(" body").offset() 返回一个 Object 而不是 0

$.fn.extend({
  scrollTo : function(speed, easing) {
    return this.each(function() {
      var targetOffset = $(this).offset().top;
      $('html,body').animate({scrollTop: targetOffset}, speed, easing);
    });
  }
});
$('#scroll-to').scrollTo(1000);

/* body offset start */ $('body').offset().top 
/* body offset end */  $('body').height() 

however $("body").offset() return an Object not 0

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文