繁体   English   中英

手风琴无法正确滚动到展开的元素

[英]Accordion not scrolling correctly to expanded element

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

<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); 
  });
});

将动画 function 包裹在 setTimeout 内。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM