我正在使用fullPage.js为多个全屏幻灯片创建全宽度和高度滑块。所以我的网站结构就像全高度滑块跳过一张幻灯片
section#f01
section#f02
section#f03.scrollfix
section#f04
我想跳过section#f03.scrollfix
滚动浏览网站。用我的键盘和/或鼠标滚轮滚动。
我正在使用fullPage.js为多个全屏幻灯片创建全宽度和高度滑块。所以我的网站结构就像全高度滑块跳过一张幻灯片
section#f01
section#f02
section#f03.scrollfix
section#f04
我想跳过section#f03.scrollfix
滚动浏览网站。用我的键盘和/或鼠标滚轮滚动。
如果你想删除它的负载,然后使用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');
}
这似乎是一个非常干净的解决方案!非常感谢您的伟大建议! 它的一种奇怪,但直到'restoreSection2'我无法使用我的键盘导航。这不是一个jsfiddle问题,是吗? –
@MarianRick我可以用键盘垂直滚动,没有任何问题。 如果您正在谈论水平滚动或幻灯片的点击,那是因为这些幻灯片位于已移除的部分,而不是第一个幻灯片。我忘了将'position:relative'添加到部分,现在我们移除了包含它的'fp-section'类。 [这是小提琴的修正](http://jsfiddle.net/97tbk/547/),注意'.section'的新CSS样式。 – Alvaro
我很抱歉。当然这是一个疯狂的问题。您需要先在该区域内单击以使键盘正常工作。使用真实网站时不存在此问题! –
我不知道我得到了你想要达到的目标,所以这是我该如何选择来解释你在你的问题中写道:
在您提供的活生生的例子,可以点击每个幻灯片上的按钮“打开”幻灯片。完成后,只要用户点击页面上的导航按钮或正在使用滚动按钮,就希望跳过幻灯片#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代码到上面开发工具控制台同时在您的示例页面上制作在scrollfix的小改动导致我认为你寻求的行为。由于您的代码中已经有了“onLeave”事件侦听器,因此在开发工具中添加此修补程序将会破坏默认行为,但您应该能够在正确的位置添加代码以使它们同时工作。
嘿@johanpersson,非常感谢您的伟大建议。我已经尝试了此修复程序。从某种意义上说,它的效果很好,但是尽快,当你在最后一张幻灯片上并尝试“打开它”时,系统就会陷入困境。它更容易让你尝试,而不是我解释。我在这里更新了代码:http://img.hiamovi-client.com/index-stack。html 它虽然在最后一张幻灯片中断开,并尝试再次“关闭”幻灯片。 –
我看到...要解决这个问题,请在你的“second_layer”函数中加入以下代码行: $(“#fullpage”)。fullpage.reBuild() 这将重建幻灯片,事实上,幻灯片8现在不再显示。否则会发生的事情是,“整页窗口”认为总共有9张幻灯片,并且由于该位置本身九个幻灯片向下,实际上它应该只有八个拼接窗口。调用reBuild将解决这个问题。 –
非常感谢@johanpersson,这个作品很棒,作为一个好主意,很容易整合到我的网站中。我会尝试添加一些修复,然后给你反馈!感谢您的解释! –
请您谈一下概念不是通常理解'frame','第二layer','第一layer' ...不容易遵循它。你必须指定你的意思。 – Alvaro
感谢@Alvaro的建议。我试图只使用“内容”和“幻灯片”,这似乎很常见。 –
*'第二个内容被激活时,我想跳过第8张幻灯片* *什么? –