【问题标题】:Prevent scrolling back to first slide after scrolled past滚动过去后防止滚动回第一张幻灯片
【发布时间】:2015-06-28 19:11:58
【问题描述】:

我正在使用fullpage.js,想知道如何防止用户在滚动过去后滚动回初始(第一张)幻灯片?

我仍然希望能够按预期在所有后续幻灯片之间滚动,但基本上删除第一张幻灯片,使其无法向上滚动(基本上使第二张幻灯片成为第一张,好像第一张不是更长的时间)。

希望这有意义吗?第一张幻灯片基本上是介绍/视频幻灯片,我只希望它在初始页面加载时显示,然后在滚动后通过它不再可访问。

【问题讨论】:

    标签: javascript jquery fullpage.js


    【解决方案1】:

    只要到达第二部分,只需使用setAllowScrolling

    $('#fullpage').fullpage({
        afterLoad: function(anchorLink, index){
            //on load section 2...
            if(index == 2){
                $.fn.fullpage.setAllowScrolling(false, 'up');
            }else{
                $.fn.fullpage.setAllowScrolling(true, 'up');
            }
        }
    });
    

    Demo online

    【讨论】:

    • 哦,太好了!我正在考虑使用它,但认为它会阻止从任何幻灯片向上滚动。我喜欢你这样做的方式。谢谢!
    • 如果您使用鼠标滚动或用手指滑动,它确实有效。如果这就是您的意思,它不适用于键盘箭头。
    • 出于好奇,这是否可以通过 pagePile 完成?似乎我可以完全消除滚动,但没有选项只能像 fullPage 那样阻止某个方向。
    【解决方案2】:

    编辑: 原来这行不通。我正在调查,但接受的答案也不起作用,至少在 Chrome 42 上。我有lodged a bug report

    根据the documentation,您可以注册一个onLeave callback。向下滚动时,您应该可以将其用于.remove() 顶部幻灯片。解决方案如下所示:

    <div class="section">
        <div class="slide" data-anchor="slide1"> Slide 1 </div>
        <div class="slide" data-anchor="slide2"> Slide 2 </div>
        <div class="slide" data-anchor="slide3"> Slide 3 </div>
        <div class="slide" data-anchor="slide4"> Slide 4 </div>
    </div>
    <script>
        $('.section').fullpage({
            onLeave: function(index, nextIndex, direction) {    
                if (index == 1) {
                    $(this).remove();
                }
            }
        });
    </script>
    

    这都是理论性的,因为我从未使用过fullpage.js(虽然看起来很整洁),因此没有对此进行测试。

    【讨论】:

    • 好主意!我没想过要完全删除该元素。如果它有效,我会试一试并报告。感谢您的意见。
    • @shparkison,你可以.css('display', 'none'),但这似乎不太优雅。
    • 嗯...这些解决方案似乎都不起作用。它在概念上听起来不错,但它完全破坏了滚动并最终禁用了所有部分。我也尝试在移除幻灯片后调用.reBuild(); 函数,但仍然没有运气。
    • 好的。我会回到第一方,看看能不能找到解决办法。你能试试我最后的评论,看看是否有效?
    • 我确实尝试按照您的建议设置.css('display', 'none'),结果与.remove()完全相同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多