我正在使用 fullPage.js 为多个全屏幻灯片创建一个完整的宽度和高度滑块。所以我的网站结构就像
section#f01
section#f02
section#f03.scrollfix
section#f04
我想在浏览网站时跳过section#f03.scrollfix
。使用键盘和/或鼠标滚轮滚动时。
答案 0 :(得分:5)
如果您想在加载时删除它,请使用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”事件侦听器,因此在开发工具中添加此修复程序将破坏默认行为,但您应该能够在正确的位置添加代码以使它们同时工作。