全高滑块跳过一张幻灯片

时间:2015-04-17 08:51:23

标签: jquery css fullpage.js

我正在使用 fullPage.js 为多个全屏幻灯片创建一个完整的宽度和高度滑块。所以我的网站结构就像

section#f01
section#f02
section#f03.scrollfix
section#f04

我想在浏览网站时跳过section#f03.scrollfix。使用键盘和/或鼠标滚轮滚动时。

2 个答案:

答案 0 :(得分:5)

Demo online

如果您想在加载时删除它,请使用afterRender回调,因为我在这里做:

$('#fullpage').fullpage({
    sectionsColor: ['yellow', 'orange', '#C0C0C0', '#ADD8E6'],

    afterRender: function () {
        removeSection2();
    }
});

function removeSection2() {
    // Move section 2 after the las section
    $('.fp-section:last').after($('#f02'));

    //removing the internal class `fp-section` so fullPage.js won't recognise it and won't be able to scroll to it.
    $('#f02').removeClass('fp-section');
}

如果您想在任何其他时刻使用它,只需随时调用函数removeSection2

如果你想在某个时候恢复它,你可以使用另一个功能:

function restoreSection2() {
    // Move all next sections to before the active section
    $('#f01').after($('#f02'));
    $('#f02').addClass('fp-section');
}

答案 1 :(得分:3)

我不确定自己得到了什么,所以这就是我选择解释你在问题中所写的内容的方式:

在您提供的实时示例中,可以单击每张幻灯片上的按钮以“打开”该幻灯片。完成后,只要用户单击页面上的导航按钮或使用滚动按钮,就会跳过幻灯片#8。

如果是这种情况,那么为幻灯片的onLeave添加以下侦听器并结合底部的css,只要存在类“.scrollfix”,就会跳过幻灯片#8(也许它应该重命名为“ .scrollskip“或类似的东西):

$("#fullpage").fullpage({ onLeave: function(index, nextIndex, direction) {
  setTimeout(function() {
    var skip_section = $(".scrollfix").length > 0;
    if (nextIndex === 8 && skip_section) {
      if (direction === "down") {
        $("#fullpage").fullpage.moveSectionDown();
      } else {
        $("#fullpage").fullpage.moveSectionUp();
      }
    } 
  },1);
} })

需要更新CSS以完全隐藏幻灯片,而不仅仅是让它不可见:

.scrollfix {
  display: none!important;
}

在您的示例页面上将JS代码粘贴到开发工具控制台中,并对scrollrix进行小的更改会导致我认为您寻求的行为。由于您的代码中已经有一个“onLeave”事件侦听器,因此在开发工具中添加此修复程序将破坏默认行为,但您应该能够在正确的位置添加代码以使它们同时工作。