您的代码的问题是您正在使用offset.top
,但您没有offset
声明变量,这意味着.top
没有返回任何内容。
您似乎已经查看了offset()的 jQuery 文档,但没有正确理解/阅读示例。
在文档中,他们正在初始化一个变量:
var offset = $(this).offset();
然后提取.top
和.left
值:
alert(" coordinates: ( " + offset.left + ", " + offset.top + " ) ");
从您的链接查看网页,您不需要非常广泛的脚本来检查用户滚动了多少。这个小功能为您提供所需的内容:
请参阅此工作小提琴示例!
// getPageScroll() by quirksmode.com
function getPageScroll() {
var xScroll, yScroll;
if (self.pageYOffset) {
yScroll = self.pageYOffset;
xScroll = self.pageXOffset;
} else if (document.documentElement && document.documentElement.scrollTop) {
yScroll = document.documentElement.scrollTop;
xScroll = document.documentElement.scrollLeft;
} else if (document.body) {// all other Explorers
yScroll = document.body.scrollTop;
xScroll = document.body.scrollLeft;
}
return new Array(xScroll,yScroll)
}
可以在此 stackoverflow 答案中找到有关此的更多信息。