Как видно из заголовка, у меня проблема с боковым якорным меню и некоторыми разделами сайта.
Я использую scrollmagic и GSAP библиотеки
Мне кажется, я понимаю, почему это происходит, но я не могу решить.
Боковое меню js
// Basic on click to trigger the scrollTo function
$('.side-nav a').click(function(e) {
$('.active').removeClass('active');
$(this).parent().addClass('active');
dataScroll = $(this).attr('data-scroll-to');
e.preventDefault();
sideMenuScrollTo(dataScroll);
});
function sideMenuScrollTo(dataScroll) {
console.log('scroll to block ' + dataScroll);
controller.scrollTo(function(newpos) {
console.log('new position ' + newpos);
TweenMax.to(
window,
1, {
scrollTo: {
y: newpos,
offsetY: 0,
autoKill: true
},
ease: Power1.easeOut
}
);
});
controller.scrollTo('#' + dataScroll);
}
Это работало нормально, пока я не добавилscrollTo при входе в некоторые разделы сайта с использованием кода ниже
var scene= new ScrollMagic.Scene({
triggerElement: '#block_2',
triggerHook: 'onEnter',
duration: '100%',
offset: 50
})
.on('enter', function(event) {
console.log('triggered block 2');
console.log(event.scrollDirection);
TweenMax.to(window, 1, {
scrollTo: {
y: "#block_2",
autoKill: false,
offsetY: 0
},
ease: Power1.easeOut
});
})
.addTo(controller); // scene end
}
Проблема заключается в том, что любой раздел с функцией scrollTo захватывает контроллер и останавливает / прерывает scrollTo бокового меню.
Другими словами, если вы просматриваете раздел 5 и щелкаете по боковому меню, чтобы перейти к разделу 2, прокрутка окна останавливается на разделе 3, в котором есть функция scrollTo onEnter.
Я не уверен, чтоя скучаю, любая помощь будет оценена