折叠面板未正确滚动到展开的元素



我有手风琴,我正在尝试滚动到活动的顶部,但现在的问题是当我打开一个然后尝试打开另一个偏移量无法正常工作时。但是,如果所有这些都折叠并尝试扩展其中一些,它就可以工作。问题仅在我扩展了一个并尝试扩展另一个时。

<div class="faqs">
<ul>
<li class="q"><a href="#"> Question </a></li>
<li class="a"> Answer </li>
</ul>
<ul>
<li class="q"><a href="#"> Question </a></li>
<li class="a"> Answer </li>
</ul>
</div>
jQuery('.faqs ul').each(function(e) {
var question = jQuery(this).find('li.q a');
var answer = jQuery(this).find('li.a');
jQuery(question).click(function(e) {
e.preventDefault();
jQuery(this).closest('ul').siblings().removeClass('expanded').find('li.a').slideUp(500);
jQuery(this).closest('ul').toggleClass("expanded").find('li.a').slideToggle(500);
jQuery("html,body").animate({scrollTop: jQuery(question).offset().top },300); 
});
});

将动画函数包装在 setTimeout 中。

setTimeout(function(){ 
jQuery('html,body').animate({scrollTop: jQuery(question).offset().top}, 600);
}, 500);

最新更新