使用jQuery滚动到元素

时间:2015-12-01 14:26:07

标签: javascript jquery

我收到了一些错误而不确定原因。

我只是希望它在点击时滚动到父div ID,它可以获得ID,因为我做了控制台日志,所以问题就是滚动部分。

错误:

  

未捕获的TypeError:clickedPanel.offset不是函数

JS

$('#accordion .panel-heading .panel-title').click(function() {
    $(this).parent().next().slideToggle(iconCallback);
    $(".panel-collapse").not($(this).parent().next()).slideUp(iconCallback);
    //scroll to clicked pabel
    var container = $('#accordion'),
        clickedPanel = $(this).parent().attr('id');

    container.animate({
        scrollTop: clickedPanel.offset().top - container.offset().top + container.scrollTop()
    })

    function iconCallback() {
        var iconClass = $(this).is(':visible') ? 'fa-minus' : 'fa-plus';
        $(this).prev().find('i').removeClass('fa-plus fa-minus').addClass(iconClass);
    }
});

1 个答案:

答案 0 :(得分:3)

在您的示例中,clickedPanel是一个没有offset()方法的字符串。而是将该变量设置为从parent()返回的jQuery对象:

clickedPanel = $(this).parent();