2015-04-21 12 views
5

geçmiş kaydırılan sonra geri ilk slayta kaydırma?önle ben <a href="https://github.com/alvarotrigo/fullPage.js" rel="noreferrer">fullpage.js</a> kullanıyorum ve onlar geçmiş kaydırılan sonra başlangıç ​​(ilk) slayta geri kaydırma kullanıcıyı engelleme hakkında gideceğini merak ediyorum

Yine de, takip eden tüm slaytlar arasında kaydırma yapabilmeyi istiyorum, ancak ilk kaydırarak, bir kez daha geriye kaydırılamayacak şekilde kaydırın (ilk önce ikinci sürgüyü ilk yapma, ilk önce olduğu gibi) artık orada değil).

Umarım bu mantıklıdır? İlk slayt temel olarak bir giriş/video slayttır ve sadece ilk sayfa yüklemesinde gösterilmesini istiyorum, daha sonra erişilememesi için kaydırıldıktan sonra.

cevap

1

Eğer 2 bölüme gelmesi zaman sadece setAllowScrolling kullanın:

$('#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

+0

Oh, güzel! Bunu kullanmayı düşünüyordum ama herhangi bir slayttan kaymayı engelleyebileceğini düşünüyordum. Yaptığın yolu sevdim. Teşekkürler! – shparkison

+0

Huh? Demo en azından Chrome 42'de çalışmaz. –

+0

Fare ile kaydırma yapar veya parmağınızla kaydırırsanız çalışır. Kastettiğiniz buysa klavye okları ile çalışmayacak. – Alvaro

1

DÜZENLEME: Bu işe yaramazsa çıkıyor. Sorgulamıyorum, kabul edilen cevap en azından Chrome 42'de çalışmıyor. lodged a bug report var.

the documentation göre, bir onLeave callback kaydedebilirsiniz. Aşağı kaydırdığınızda bunu en iyi slaytta .remove() kullanabilmeniz gerekir.

<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> 

Bu benim fullpage.js hiç kullanılmamış olan tüm Anlatım, Tartışma gibidir (düzgün görünüyor olsa da) ve bu nedenle bu test etmedim: Çözüm şöyle görünürdü.

+0

Güzel fikir! Öğeyi tamamen kaldırmayı düşünmedim. İşe yarayacak ve rapor verirse rapor vereceğim. Giriş için teşekkürler. – shparkison

+0

@shparkison, iyi .css ('display', 'none') 'olabilir, ama bu daha az zarif görünüyordu. –

+0

Hmmm ... bu çözümlerden hiçbiri işe yaramıyor. Konseptte iyi görünüyordu, ancak kaydırma işlemini tamamen iptal ediyor ve tüm bölümleri devre dışı bırakıyor. Ayrıca slaydı kaldırdıktan sonra ''reBuild();' işlevini çağırmayı denedim, ancak yine de şans yok. – shparkison