苏,
我正在使用带有 ScrollTrigger 的gsap在我的网站上切换暗/亮模式。
我编写了一个函数来检测触发器何时可见:
ScrollTrigger.create({
trigger: ".js__trigger-dark",
start: "bottom bottom",
end: "+=300",
onLeave: self => changeTheme(),
onEnterBack: self => disableTheme(),
});
ScrollTrigger.create({
trigger: ".js__trigger-light",
start: 'bottom bottom',
onLeave: self => disableTheme(),
onEnterBack: self => changeTheme(),
});
function changeTheme() {
jQuery('html').attr('data-theme','dark');
}
function disableTheme() {
jQuery('html').attr('data-theme','');
}
例如.js__trigger-dark当用户滚动超过第一部分 300px 时切换暗模式,并在用户再次向上滚动到具有类.js__trigger-dark的部分时删除该属性。这工作正常,直到用户到达屏幕底部并删除该属性。
有人可以解释为什么滚动到屏幕底部时它会被删除吗?由于某种原因onEnterBack被调用,我不知道为什么。
问候, b