从body调用函数时未捕获的ReferenceError

时间:2015-02-18 19:11:27

标签: javascript jquery

我试图解决这个问题,虽然我不是一个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/如果您打开控制台,您应该看到唯一的错误。

1 个答案:

答案 0 :(得分:0)

将您的javascript更改为<head>。这样,只要您$(document).ready();来电,就可以使用它。现在设置它的方式,该功能将在您使用后创建。您希望在使用之前创建它。

No wrap - in <head>

It is not a best practice to place javascript in the <head>,但为了举例,将其置于<head>将解决您的问题。