未捕获的引用错误:未定义jQuery(Sticky div)

时间:2015-12-21 14:50:26

标签: jquery

Plz帮助修复它

jQuery(document).ready(function() {

var stickyOffset = jQuery("canbesticky").offset().top;

jQuery(window).scroll(function() {
    var scrollPos = jQuery(window).scrollTop();

    if (scrollPos >= stickyOffset) {
        jQuery("canbesticky").addClass("fixeddiv");
    } else {
        jQuery("canbesticky").removeClass("fixeddiv");
    }

});


});

jsfiddle.net/daniladyabin/mnh4vn2y
Screenshot
    我是JQuery的新手

2 个答案:

答案 0 :(得分:0)

首先,您需要实际包含jQuery。在JsFiddle上,JavaScript部分中有一个选项可以添加它。在实际网页中,您需要添加指向本地版本或库的托管版本的链接。

您可以使用它在线参考

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

接下来,所有jQuery选择器都不正确。要按ID选择元素,您需要在开头添加#,例如

var stickyOffset = jQuery("#canbesticky").offset().top;

最后,你可以使用一个漂亮的小速记来节省一些打字。 jQuery可以替换为$,就像这样

var stickyOffset = $("#canbesticky").offset().top;

答案 1 :(得分:0)

jQuery错误与您的错误没什么关系。在JSFiddle中包括

https://code.jquery.com/jquery-1.11.3.min.js
在右边,你可以看到我将包括的小提琴,现在你的小提琴中有jQuery。如果您没有在实际代码中执行此操作,请将其包含在那里,因为自然需要jQuery来使用jQuery 。 (确保它的https为JSFiddle不接受http)

您正在使用jQuery("canbesticky")搜索标记canbesticky,但您需要找到包含id canbesticky的标记,因此您必须调整CSS选择器在jQuery("//CSS Selector//")

那就是:jQuery("#canbesticky")

这是工作fiddle