如果使用$(“body”)。offset()onready,结果始终为0,即使url包含锚点。
有没有更好的方法来获取页面实际解析的位置的偏移量?
谢谢!
答案 0 :(得分:1)
这是因为$("body").offset()
返回了相对于页面的正文的顶部和左侧值。
您可能想要使用
$(window).scrollTop();
如果你想要滚动位置的值。
//this will alert the scroll pos on load
$(document).ready(function(){
var scrollPos = $(window).scrollTop();
alert(scrollPos);
});
答案 1 :(得分:0)
- DEMO 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);
- DEMO: http://jsbin.com/aroha5
- DEMO2: http://jsbin.com/aroha5/2
/* body offset start */ $('body').offset().top
/* body offset end */ $('body').height()
然而$("body").offset()
返回Object
而非0