用fullpage.js ,可以控制在当前页面动画完成之后才可以向下或向上滚动吗

发布于 2022-09-01 23:14:31 字数 47 浏览 14 评论 0

用fullpage.js ,可以控制在当前页面动画完成之后才可以向下或向上滚动吗

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

葬花如无物 2022-09-08 23:14:31

那你要看当前动画是否提供了动画结束后的回调接口了
如果使用jquery的animate的话,就有完成后的回调接口

末が日狂欢 2022-09-08 23:14:31

我最近也碰到这个问题了,我说个思路,fullpage.js有一个默认的滚动时间,你的动画开始执行时间只要低于这个时间,就不会有动画未执行完毕,而页面已经向下向上滚动的问题了.

以为你会在 2022-09-08 23:14:31

fullpage有对应方法 在滚动到第几屏禁止滚动 然后定时器 解除禁止滚动
如下
$('#fullpage').fullpage({

    verticalCentered: false,
    resize: true,
    menu: '#nav',
    paddingTop: '60px',
    scrollingSpeed: 300,
    navigation: false,
    continuousVertical: true,
    touchSensitivity: 80,
    //横向幻灯片导航的位置,可以为top或者bottom
    // slidesNavPosition: right,
    slidesNavigation: true,      //是否显示左右滑块的项目导航
    loopHorizontal: false,       //左右滑块是否循环滑动    
    controlArrowColor: '#4681f8',     //左右滑块的箭头的背景颜色
    slidesColor: ['#0075D1', '#C2E5FF', '#FDF6E1', '#E9E9E9', '#F3F3F3', '#F9F3DC'],
    anchors: ['page1', 'page2', 'page3', 'page4', 'page5', 'page6'],
    // 滚动到某一屏后的回调函数
    afterLoad: (anchorLink, index) => {
        // 根据当前第几屏 添加动画类
        switch (anchorLink) {
            case 'page1':
                $.fn.fullpage.setAllowScrolling(false)
                $.fn.fullpage.setKeyboardScrolling(false)
                setTimeout(() => {
                    $.fn.fullpage.setAllowScrolling(true)
                    $.fn.fullpage.setKeyboardScrolling(true)
                }, 2000)
                $('.section1').addClass('animate')
                break;
            case 'page2':
                $.fn.fullpage.setAllowScrolling(false)
                $.fn.fullpage.setKeyboardScrolling(false)
                setTimeout(() => {
                    $.fn.fullpage.setAllowScrolling(true)
                    $.fn.fullpage.setKeyboardScrolling(true)
                }, 2000)
                $('.section2').addClass('animate')
                break;
            case 'page3':
                $.fn.fullpage.setAllowScrolling(false)
                $.fn.fullpage.setKeyboardScrolling(false)
                setTimeout(() => {
                    $.fn.fullpage.setAllowScrolling(true)
                    $.fn.fullpage.setKeyboardScrolling(true)
                }, 2000)
                $('.section3').addClass('animate')
                break;
            case 'page4':
                $.fn.fullpage.setAllowScrolling(false)
                $.fn.fullpage.setKeyboardScrolling(false)
                setTimeout(() => {
                    $.fn.fullpage.setAllowScrolling(true)
                    $.fn.fullpage.setKeyboardScrolling(true)
                }, 2000)
                $('.section4').addClass('animate')
                break;
            case 'page5':
                $.fn.fullpage.setAllowScrolling(false)
                $.fn.fullpage.setKeyboardScrolling(false)
                setTimeout(() => {
                    $.fn.fullpage.setAllowScrolling(true)
                    $.fn.fullpage.setKeyboardScrolling(true)
                }, 2000)
                $('.section5').addClass('animate')
                $("#serviceFrom")[0].reset()
                break;
        }
    },
    // 滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数
    onLeave: (index, nextIndex, direction) => {
        // 根据当前第几屏 添加动画类
        $('.section').removeClass('animate')
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文