我收到了一些错误而不确定原因。
我只是希望它在点击时滚动到父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);
}
});
答案 0 :(得分:3)
在您的示例中,clickedPanel
是一个没有offset()
方法的字符串。而是将该变量设置为从parent()
返回的jQuery对象:
clickedPanel = $(this).parent();