无法阅读财产' top'未定义的

时间:2014-10-08 03:10:51

标签: javascript jquery console

我的网站上包含以下功能,仅在主页上使用。但是,当我转到另一个不需要使用此函数的内部页面时,我在控制台中得到Uncaught TypeError: Cannot read property 'top' of undefined,因为这些类不存在。我可以添加到此代码中以防止控制台错误吗?

$('.artist-kina').click(function( e ){
    e.preventDefault();
    $('html, body').animate({
        scrollTop: $("#artists").offset().top - (
          $(window).width() < 450 ? 112 : 60
        )
    }, 500);
    $('.artists-home').fadeOut(function() {
        $('.kina-gallery').fadeIn('slow');
    });
});

1 个答案:

答案 0 :(得分:0)

您可以查看与您的选择器匹配的元素数量。

$('.artist-kina').click(function( e ){
    e.preventDefault();
    e.stopPropagation();
    if ($("#artists").length > 1) {
        $('html, body').animate({
            scrollTop: $("#artists").offset().top - (
                $(window).width() < 450 ? 112 : 60
            )
        }, 500);
    }
    $('.artists-home').fadeOut(function() {
        $('.kina-gallery').fadeIn('slow');
    });
});