jQuery: Как я могу определить смещение, которое страница будет возвращать при обновлении? - PullRequest
2 голосов
/ 18 марта 2011

Если вы используете $ ("body"). Offset () onready, то результат всегда равен 0, даже если URL-адрес включает в себя привязку.

Есть ли лучший способ получить смещение места на страницедействительно разрешит?

Спасибо!

Ответы [ 2 ]

1 голос
/ 18 марта 2011

Это потому, что $("body").offset() возвращает верхнее и левое значения тела относительно страницы.

Вы, вероятно, хотите использовать

$(window).scrollTop();

, если вы хотите значение позиции прокрутки.

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

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

});
0 голосов
/ 18 марта 2011
$.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

...