未捕获的TypeError:无法读取属性' top'未定义的

时间:2014-08-22 20:21:27

标签: javascript jquery typeerror scrolltop onscroll

抱歉我的英语不好,但我有一个问题。

以下是我的信息:

Uncaught TypeError: Cannot read property 'top' of undefined 

这是我的功能:

    function onScroll(event){
        var scrollPos = $(document).scrollTop();
        $('#menu-center a').each(function () {
            var currLink = $(this);
            var refElement = $(currLink.attr("href"));
            if (refElement.position().top<= scrollPos && refElement.position().top + refElement.heig
ht() > scrollPos) {
                $('#menu-center ul li a').removeClass("active");
                currLink.addClass("active");
            }
            else{
                currLink.removeClass("active");
            }
        });
    }

我不明白,因为我在本地有一个这个功能的其他页面,它运行正常。

我在网上搜索但没有任何内容与我的问题相符。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

更改此行:var refElement = $(currLink.attr("href")); 在这一行:var refElement = $(currLink).attr("href");

答案 1 :(得分:0)

我找到了上述问题的解决方案。请参阅以下代码段

Categories[0].length;