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

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

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

Спасибо!

2 ответа

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

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

$(window).scrollTop();

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

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

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

});
$.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

Другие вопросы по тегам