我是barba.js的新手,所以只是想弄清楚它。
执行页面转换后,我的浏览器页面滚动将保持原样。这是故意的吗?
是否有可能在转换后像往常一样将下一页加载到顶部?
这是我的代码
function pageTransition() {
var tl = gsap.timeline();
tl.to('ul.transition li', { duration: .5, scaleY: 1, transformOrigin: "top left", stagger: .2 })
tl.to('ul.transition li', { duration: .5, scaleY: 0, transformOrigin: "top left", stagger: .1, delay: .1})
}
function contentAnimation() {
var tl = gsap.timeline();
tl.from('.hero', { duration: 1, translateY: 50, opacity: 0 })
}
function delay(n){
n = n || 2000;
return new Promise(done => {
setTimeout(() => {
done();
}, n)
});
}
barba.init({
sync: true,
transitions: [{
async leave(data) {
const done = this.async();
pageTransition();
await delay(500);
done();
},
async enter(data) {
contentAnimation();
},
async once(data) {
contentAnimation();
}
}]
});
答案 0 :(得分:1)
再次检查文档后,我发现了这些钩子。
barba.hooks.enter(() => {
window.scrollTo(0, 0);
});
如果其他任何人遇到相同的问题,这将解决该问题。