2016-01-20 62 views
3

我已經使用pagepiling.js製作了一個網站,該腳本在視口中的部分添加了「active」類。現在,我想加上我的身體一類,當我section1active這樣的:去除身體上的課程不能與pagepiling.js一起工作

$(document).ready(function() { 
    if ($('#section1').hasClass("active") === true) { 
     $('body').toggleClass("one"); 
    } 
}); 

它運作良好(類是對人體補充),但是當我滾動我section1不具有類active因爲我現在在section2上,身體上的這個類不會被刪除。我該如何解決它?我也試過:

$(document).ready(function() { 
    if ($('#section1').hasClass('active')) { 
     $('body').addClass('one'); 
    } 
    else { 
     $('body').removeClass('one'); 
    } 
}); 

但它不工作。

+0

你剛纔downvoted我的答案?我可以問爲什麼? – Alvaro

+0

不,它不是我 – Tiaw

+0

在任何情況下,我想知道你怎麼能接受一個甚至不工作的答案......使用pagePiling.js時,滾動事件甚至沒有被傳播......而我告訴你這是插件的創建者... – Alvaro

回答

1

你必須把你的病情滾動事件裏面,因爲你應該檢查每次用戶滾動:

$('body').on('scroll', function() { 
    if ($('#section1').hasClass("active")){ 
     $('body').toggleClass("one"); 
    } 
}); 

希望這有助於。

+0

這不是做這件事的方法.... [它不會工作](http://jsfiddle.net/hrrLvd2a/31/),因爲pagePiling.js不會觸發滾動事件。你應該使用pagePiling.js回調,或者正如我在我的回答中所建議的那樣,使用pagePling.js爲你添加的類。 **當然,這不應該是被接受的答案。** – Alvaro

0

現在我想加在我身上的一類,當我SECTION1活躍

你其實並不需要。

PagePiling.js以pp-viewing-page2的形式爲您添加body元素的類。您可以在您的DOM檢查員demo page中檢查它。

但是如果你還是想加個班,只需使用插件提供的回調,像這樣:

$('#pagepiling').pagepiling({ 
    afterLoad: function(anchorLink, index){ 
     if(index == 1){ 
      $('body').addClass('one'); 
     }else{ 
      $('body').removeClass('one'); 
     }   
    } 
});