2014-04-02 41 views
1

我正在使用iFroll 5和fullpage.js,因爲fullpage.js提供的解決方案不是我所需要的。iScroll 5使用鼠標滾輪和觸摸滾動的容器邊界檢測

我的頁面有3個完整頁面部分。第二部分有一個垂直滾動內容。

我需要做的是檢測我的可滾動內容何時位於父元素邊界(頂部和底部),然後如果再次執行滾動(鼠標滾輪或觸摸),它會觸發事件。

這裏是一個Fiddle與問題。

我需要的是這樣的:

$('.scrollwrapper').on("mousewheel touchmove", function() { 
    if ("scroll is on max top"){ 
     $(this).on("wheelUp touchmoveUp", function() { 
      $.fn.fullpage.moveSectionUp(); 
     }); 
    }else if ("scroll is on max bottom"){ 
     $(this).on("wheelDown touchmoveDown", function() { 
      $.fn.fullpage.moveSectionDown(); 
     }); 
    } 
}); 

希望你能幫助我,我會感激任何幫助。

+0

你的問題根本不清楚。你能告訴我們你遇到的問題是什麼?另外,爲什麼不使用創建滾動條的選項'scrollOverflow'? – Alvaro

+0

我沒有使用'scrollOverflow'選項,因爲它觸發了一個函數來啓動另一個名爲slimScroll的第三方插件,而這個插件不適合我的需要。我需要但不知道該怎麼做的方法是檢測用戶是否達到iScroll5元素的最大和最小滾動條,然後在用戶再次以相同方向滾動時再觸發另一個函數,邏輯與我上面寫的相同那段代碼。 – Strobel

+0

您需要查看iScroll文檔以確定它們是否有任何回調。 – Alvaro

回答

0

你可以嘗試這樣的

xpScroll.on('scrollEnd', function(){ 
    var scrollY = xpScroll.y + 15; 
    var scrollH = $('.xp-scroll').height() - $(window).height(); 
    var scrollEnd = scrollH + scrollY; 

    if (scrollEnd == 0) { 
     alert('End'); 
    } 
}); 

http://jsfiddle.net/fF4BJ/1/ 在你的提琴爲我工作的東西。滾動使用你的數學技能。