滚动过去后防止滚动回第一张幻灯片
Prevent scrolling back to first slide after scrolled past
我正在使用 fullpage.js 并且想知道我将如何防止用户在滚动过去后滚动回初始(第一张)幻灯片?
我仍然希望能够按预期在所有后续幻灯片之间滚动,但实质上是在第一张幻灯片经过它后将其删除,这样它就无法向上滚动(基本上使第二张幻灯片成为第一张幻灯片,就好像第一张幻灯片一样不再存在)。
希望这是有道理的?第一张幻灯片基本上是一张 intro/video 幻灯片,我只希望它在初始页面加载时显示,然后在滚动通过后无法再访问它。
编辑: 结果证明这是行不通的。我正在调查,尽管接受的答案也不起作用,至少在 Chrome 42 上是这样。我有 lodged a bug report.
根据the documentation, you can register an onLeave
callback. You should be able to use this to .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(虽然看起来很整洁),因此没有测试过。
只要到达第 2 部分就使用 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');
}
}
});
我正在使用 fullpage.js 并且想知道我将如何防止用户在滚动过去后滚动回初始(第一张)幻灯片?
我仍然希望能够按预期在所有后续幻灯片之间滚动,但实质上是在第一张幻灯片经过它后将其删除,这样它就无法向上滚动(基本上使第二张幻灯片成为第一张幻灯片,就好像第一张幻灯片一样不再存在)。
希望这是有道理的?第一张幻灯片基本上是一张 intro/video 幻灯片,我只希望它在初始页面加载时显示,然后在滚动通过后无法再访问它。
编辑: 结果证明这是行不通的。我正在调查,尽管接受的答案也不起作用,至少在 Chrome 42 上是这样。我有 lodged a bug report.
根据the documentation, you can register an onLeave
callback. You should be able to use this to .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(虽然看起来很整洁),因此没有测试过。
只要到达第 2 部分就使用 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');
}
}
});