我有以下内容:
import $ from 'jquery';
class Accordion {
constructor (s) {
this.accordion = s.accordion;
this.tab = s.tab;
}
}
Accordion.prototype.showFirst = function(){
$(".accordion__content--0").addClass('show');
this.accordion.find(".accordion__tab:first-child").addClass('active');
}
Accordion.prototype.showContentOnClick = function(){
this.tab.on('click', function(){
let current = $(this),
currentParent = $(this).parent();
if ( window.innerWidth < 1024 ) {
$('html, body').animate({
scrollTop: current.offset().top
}, 1000);
}
if(!current.hasClass('active')){
currentParent.find(".accordion__tab").removeClass('active');
current.addClass('active');
currentParent.find('.accordion__content').removeClass('show');
currentParent.find("." + current.data('content')).addClass('show');
}
else {
$(".active").removeClass('active');
$(".show").removeClass('show');
}
});
}
Accordion.prototype.initAccordion = function(){
this.showFirst();
this.showContentOnClick();
}
export default Accordion;
如果我向下滚动页面,我按照以下方式点击其中一个标签:
this.tab.on('click', function(){
页面未按预期滚动到确切点:
scrollTop: current.offset().top
如果我打开了一个标签,我向下滚动页面,然后点击下面的另一个标签,发生了一个非常奇怪的跳转。 如何解决这个问题,以便无论页面向下滚动多少,它总是滚动到所需的点?