首页 > 解决方案 > 如何使用 swup js 切换到页面顶部

问题描述

使用 Swup JS,我实现了一个很好的过渡效果,除了一个问题外效果很好。

如果我向下滚动到页面“A”上的某个点,点击 url 转换到页面“B”,我不会转换到页面“B”的最顶部,而是滚动点相同或接近。

如何让 swup js 不记得滚动位置并将我转换到页面顶部?

标签: javascriptswup

解决方案


const options = {
    animationSelector: '[class*="transition-fade"]',
    animateHistoryBrowsing: true,
    plugins: [

        new SwupScrollPlugin({
            animateScroll: false
        })
    ]
};

const swup = new Swup(options);

let scrollValues = {};

swup.on('clickLink', () => {
    scrollValues[window.location.href] = window.scrollY;
});

swup.on('popState', () => {
    setTimeout(function() {
        window.scrollTo(0, scrollValues[window.location.href]);
    }, 100);
});

推荐阅读