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

时间:2014-05-18 02:15:52

标签: javascript jquery

我有以下代码并且它返回了"未捕获的TypeError:无法读取属性' top'未定义"控制台出错,我无法弄清楚原因?代码实际上正在做我喜欢做的事情,但我希望它不会返回任何错误。有人能指出我正确的方向吗?

var sig = false;
$(window).on('scroll', function () {
    var sigTop = $('.svgWrap').offset().top - 500;
    var winTop = $(window).scrollTop();
    if (sigTop < winTop && !sig) {
        sig = true;
        animateSignature();
    }
})

1 个答案:

答案 0 :(得分:1)

当第一个.svgWrap事件触发时,

scroll可能不存在;在页面末尾包含脚本,将其包装在$(document).ready中,或检查.svgWrap

var sig = false;

$(window).on('scroll', function () {
    var svgWrap = $('.svgWrap');

    if (!svgWrap.length) {
        return;
    }

    var sigTop = svgWrap.offset().top - 500;
    var winTop = $(window).scrollTop();
    if (sigTop < winTop && !sig) {
        sig = true;
        animateSignature();
    }
});