2016-04-08 217 views
1

我已經設置了fullpage.js,但希望能夠滾動到一個部分的功能,並且如果滿足某些條件以在下一個滾動的相同部分內顯示新的元素。這下一個滾動不應該繼續下一部分。Fullpage.js - 防止滾動

使用回調函數,我已經能夠確定一個部分何時需要第二次滾動。從文檔中,我甚至可以在滾動發生之前取消滾動,因此可以顯示新的元素而不必轉到下一節。問題是讓它在此之後轉移到下一節。我要麼停止滾動,要麼再也不能滾動,或者滾動到下一部分時出現文本,因爲任何一種標誌都可以改變,並且在下一次滾動時會多次觸發,因此它會從部分移開。

 //HTML - typical fullpage.js section 

     <div class="section"> 
      <div> 
       <h1>Default Text</h1> 
       <p class="hidden-text">Additonal text to appear on second scroll</p> 
      </div> 
     </div> 
     <div class="section"> 
      <div> 
       <h1>Next Section</h1> 
      </div> 
     </div> 

     //fullpage.js - the callbacks being used 

     afterLoad: function(anchorLink, index){ 
      preventScroll = false; 
      if(this.has(".hidden-text").length){ 
       preventScroll = true; 
      } 
     }, 
     onLeave: function(index, nextIndex, direction){ 
      if (preventScroll && direction == "down") { 
       this.find('.hidden-text').addClass('animate-text'); 
       this.find('.hidden-text').removeClass('hidden-text'); 
       return false; 
      } 
     }, 

Codepen在這裏找到:http://codepen.io/anon/pen/oxEexY

+0

在jsfiddle或codepen中添加複製爲我們更好地地瞭解您的問題。 – Alvaro

+0

剛剛添加了一個codepen。 – chrism10

回答

1

您必須添加邏輯,知道什麼時候隱藏的文本已被證明。添加一個timeOut或其他東西。當發生這種情況時,將標誌preventScroll更改爲true

在這種情況下,我假設文本後1秒(1000毫秒)所示:

Reproduction online

另外,請注意我如何使用的$(this)而不是this