我使用 Jquery 从我的站点中选择一个 HTML 对象。
<div id="banner">
<!-- stuff in here -->
</div>
我使用这段代码:
$(window).load($(function()
{
var elem = $("#banner");
var top = elem.offset().top;
var maxTop = $("#footer").offset().top - elem.height();
var scrollHandler = function()
{
var scrollTop = $(window).scrollTop();
if (scrollTop<top) {
elem.css({position:"relative",top:""})
} else if (scrollTop>maxTop) {
elem.css({position:"absolute",top:(maxTop+"px")})
} else {
elem.css({position:"fixed",top:"0px"})
}
}
$(window).scroll(scrollHandler);scrollHandler()
}));
但是我不断收到错误“未捕获的类型错误:无法读取未定义的属性‘顶部’”
出于某种原因,它没有看到 div 'banner'。
知道为什么吗?
编辑:
根据下面的建议,我将代码从 $(window).load 更改为 $(document).ready。还是同样的问题。
$(document).ready($(function()
{
var elem = $("#banner");
var top = elem.offset().top;
var maxTop = $("#footer").offset().top - elem.height();
var scrollHandler = function()
{
var scrollTop = $(window).scrollTop();
if (scrollTop<top) {
elem.css({position:"relative",top:""})
} else if (scrollTop>maxTop) {
elem.css({position:"absolute",top:(maxTop+"px")})
} else {
elem.css({position:"fixed",top:"0px"})
}
}
$(window).scroll(scrollHandler);scrollHandler()
}));