2017-11-15 5 views
2

私はスクロールイベントを取得するための指示を受けましたが、私はイベントのみをスクロールしたいと思っています。イベントをスクロールダウンするためのAngularJSディレクティブ?

.directive('whenScrolled', function() { 
    return function(scope, elm, attr) { 
     var raw = elm[0]; 

     elm.bind('scroll', function() { 
      if (raw.scrollTop + raw.offsetHeight >= raw.scrollHeight) { 
       scope.$apply(attr.whenScrolled); 
      } 
     }); 
    }; 
}) 
+0

あなたは、スクロールの方向を知るためにこの回答を使用することができます。 https://stackoverflow.com/a/31223774/5751251 – DSCH

+0

はthis..httpsを試してください。//codepen.io/razvan-tudosa/ pen/GZKNzR –

+0

elm.bind( 'scroll'、function())の「scroll」のようなプロパティについて教えてください。 –

答えて

0

この問題は次のコードで解決しました。

//========================================================================= 
// Custom Infinite Scoller for table edit 
//========================================================================= 
.directive('whenScrolled', function() { 
    return function(scope, elm, attr) { 
     var raw = elm[0]; 

     ̶e̶l̶m̶.̶b̶i̶n̶d̶(̶'̶w̶h̶e̶e̶l̶'̶,̶ ̶f̶u̶n̶c̶t̶i̶o̶n̶(̶)̶ ̶{̶ 
     elm.bind('wheel', function(event) { 
      var delta; 
      if (event.wheelDelta){ 
       delta = event.wheelDelta; 
      }else{ 
       delta = -1 *event.deltaY; 
      } 
      if (delta < 0){ 
       //call whenScrolled attribute to HTML for calling function from controller --- Scroll Up 
       scope.$apply(attr.whenScrolled); 

      }else if (delta > 0){ 
       //do nothing --- Scroll Down 
      } 
     }); 

    }; 
}) 
関連する問題