Barba.js : scrollRestoration 和 Wordpress 问题
Barba.js : scrollRestoration and Wordpress issue
我正在尝试使用 barba.js 在我的主页和我的单个页面之间放置一些动画(如果某些东西在 wordpress 上效果更好请告诉我),实际上当我点击我的 post 时,单个页面像另一个页面一样滚动,即使我把
barba.hooks.before(() => {
if (history.scrollRestoration) {
history.scrollRestoration = 'manual';
}
});
barba.init({
debug: true,
transitions: [{
name: 'projet-transition',
from: {
namespace: [
'home'
]
},
to: {
namespace: [
'projet'
]
},
enter(data) {
console.log(data)
},
leave(data) {
console.log(data)
},
}]
});
要在通过链接导航时重置滚动位置,您可以这样做:
barba.hooks.enter(() => {
window.scrollTo(0, 0);
});
关于滚动恢复
History.scrollRestoration
影响前后历史导航。如果您需要在向后或向前导航时恢复滚动位置,请查看 this barba.js github issue。如果没有,我认为最好不要在 before
挂钩中将 scrollRestoration 设置为手动,该挂钩在每次页面转换时运行。您可以将它放在 barba 挂钩之外或 beforeOnce
挂钩中。
我正在尝试使用 barba.js 在我的主页和我的单个页面之间放置一些动画(如果某些东西在 wordpress 上效果更好请告诉我),实际上当我点击我的 post 时,单个页面像另一个页面一样滚动,即使我把
barba.hooks.before(() => {
if (history.scrollRestoration) {
history.scrollRestoration = 'manual';
}
});
barba.init({
debug: true,
transitions: [{
name: 'projet-transition',
from: {
namespace: [
'home'
]
},
to: {
namespace: [
'projet'
]
},
enter(data) {
console.log(data)
},
leave(data) {
console.log(data)
},
}]
});
要在通过链接导航时重置滚动位置,您可以这样做:
barba.hooks.enter(() => {
window.scrollTo(0, 0);
});
关于滚动恢复
History.scrollRestoration
影响前后历史导航。如果您需要在向后或向前导航时恢复滚动位置,请查看 this barba.js github issue。如果没有,我认为最好不要在 before
挂钩中将 scrollRestoration 设置为手动,该挂钩在每次页面转换时运行。您可以将它放在 barba 挂钩之外或 beforeOnce
挂钩中。