2013-10-25 52 views
0

我遇到了觸摸板滾動問題。這是如何看起來我的網站:click。您可以使用向上/向下箭頭,菜單和鼠標滾輪瀏覽此處。一切都很好,除了使用觸摸板滾動。當你這樣做時,它就像滾動鼠標滾輪的滾動一樣。所以你不要從頂部到第二個屏幕,而是走到最後一個屏幕。我在想這個問題,我的解決方案是:觸摸板滾動問題jQuery

  • 檢測滾動的方向
  • 滾動到下/上一個屏幕
  • 停止滾動

但我沒有任何想法如何「停止滾動」。誰能幫我? :)

回答

0

好吧,我已經想出瞭如何做到這一點。也許這不是最好的方式,但它的工作原理。代碼:

 scrollTimes ={ 
      up : 0, 
      down : 0 
     }; 

     $('body').bind('DOMMouseScroll', function(e){ 
      if(e.originalEvent.detail > 0) { 
       scrollTimes.down++; 
       if(scrollTimes.down === 1) { 
        api.next(2000); 
       } 
      } 
      else { 
       scrollTimes.up++; 
       if(scrollTimes.up === 1) { 
        api.prev(2000); 
       } 
      } 

      setTimeout(function() { scrollTimes = { up : 0, down : 0};}, 2000); 

      return false; 
     }); 

     $('body').bind('mousewheel', function(e){ 
      if(e.originalEvent.wheelDelta < 0) { 
       scrollTimes.down++; 
       if(scrollTimes.down === 1) { 
        api.next(2000); 
       } 
      } 
      else { 
       scrollTimes.up++; 
       if(scrollTimes.up === 1) { 
        api.prev(2000); 
       } 
      } 

      setTimeout(function() { scrollTimes = { up : 0, down : 0};}, 2000); 

      return false; 
     }); 

我在setTimeout的時間設定到2000年,因爲它是滾動到下一個/上屏幕的時候:)