我试图解决这个问题,虽然我不是一个js开发人员,而且我的实现有时很蹩脚。
我在外部js中定义了这个函数:
function moveScroller() {
var move = function() {
var st = $(window).scrollTop();
var ot = $("#scroller-anchor").offset().top;
var s = $("#scroller");
if(st > ot) {
s.css({
position: "fixed",
top: "60px"
});
} else {
if(st <= ot) {
s.css({
position: "relative",
top: ""
});
}
}
};
$(window).scroll(move);
move();
}
而且在身体的html中我有这个代码:
<div style="width:900px; position:relative; margin:0 auto; border:1px solid red; padding-top:300px; padding-left:60px;">
<div id="scroller-anchor"></div>
<div class="info_holder" id="scroller">Information in here and here</div>
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
random and random<br /><br /><br /><br /><br />
</div>
<script>
$(document).ready(function() {
moveScroller();
});
</script>
我试过脚本的正文部分没有$(document).ready但是它给了我同样的错误Uncaught ReferenceError:moveScroller没有定义。
http://jsfiddle.net/A6gYg/76/ 或http://atargeta.staging.wpengine.com/modules/如果您打开控制台,您应该看到唯一的错误。
答案 0 :(得分:0)
将您的javascript更改为<head>
。这样,只要您$(document).ready();
来电,就可以使用它。现在设置它的方式,该功能将在您使用后创建。您希望在使用之前创建它。
It is not a best practice to place javascript in the <head>
,但为了举例,将其置于<head>
将解决您的问题。