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);
});
- ДЕМО 3: http://jsbin.com/aroha5/3
$.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);
- ДЕМО: http://jsbin.com/aroha5
- ДЕМО2: http://jsbin.com/aroha5/2
/* body offset start */ $('body').offset().top
/* body offset end */ $('body').height()
тем не мение $("body").offset()
вернуть Object
не 0