JavaScript函数运行完美,但给出错误

时间:2014-05-30 07:08:45

标签: jquery

function scrollBottom()  {
    var myDiv = $("#configComponent");
    myDiv.animate({
        scrollTop: $(".drpMenuDiv").position().top
    }, 1000);
}

它出现以下错误:

TypeError: $(...).position(...) is undefined
scrollTop: $(".drpMenuDiv").position().top

1 个答案:

答案 0 :(得分:1)

我怀疑你(来自Firefox)的错误是:

$(...).position(...) is null

null,而非undefined)。 (从Chrome开始,它将是Cannot read property 'top' of null。)

这告诉您选择器.drpMenuDiv没有匹配项,因此position()正在返回null

如果可能的话,你需要一名警卫:

function scrollBottom()  {
    var myDiv = $("#configComponent");
    var menuDivPos = $(".drpMenuDiv").position();
    if (menuDivPos) {
        myDiv.animate({
            scrollTop: menuDivPos.top
        }, 1000);
    }
}

或者,如果没有menuDiv,则动画显示某个默认位置:

function scrollBottom()  {
    var myDiv = $("#configComponent");
    var menuDivPos = $(".drpMenuDiv").position();
    myDiv.animate({
        scrollTop: menuDivPos ? menuDivPos.top : 0
    }, 1000);
}

如果没有匹配项,该示例会动画为0