app.directive('scrollLoading',['$location',function($location){
return {
restrict:'AE',
link:function(scope,ele,attrs){
var pageWindow = $(this);
// pageWindow.on('scroll',function(){
// if($location.$$path.indexOf('logcenter')>-1){
// if(pageWindow.scrollTop() <=0){
// console.log(pageWindow.scrollTop());
// scope.loadMore(0);
// }
// }
// });
//针对PC端的滚动加载数据的方法
pageWindow.on('DOMMouseScroll mousewheel',function(event){
if($location.$$path.indexOf('logcenter')>-1 && scope.enableMouseWheel){
var e = event || window.event;
var delta = (e.originalEvent.wheelDelta && (e.originalEvent.wheelDelta > 0 ? 1 : -1)) || // chrome & ie
(e.originalEvent.detail && (e.originalEvent.detail > 0 ? -1 : 1));// firefox
if(delta > 0 && pageWindow.scrollTop() <=0){//向上滚动加载之前的数据
scope.$apply(function(){
scope.loadMore(0);
});
}else if(delta<0 && $(window).height() + $(window).scrollTop() - $(document).height() >= 0){//向下滚动加载之后的数据
scope.$apply(function(){
scope.loadMore(1);
});
}
// // for IE
// event.returnValue = false;
// // for Chrome and Firefox
// if(event.preventDefault) {
// event.preventDefault();
// }
}
})
//针对移动端的滚动加载数据的方法
pageWindow.on('touchstart',function(se){
if($location.$$path.indexOf('logcenter')>-1 && scope.enableMouseWheel){
var seX = se.originalEvent.targetTouches[0].pageX;
var seY = se.originalEvent.targetTouches[0].pageY;
return pageWindow.off('touchmove').on('touchmove',function(me){
var meX = me.originalEvent.targetTouches[0].pageX;
var meY = me.originalEvent.targetTouches[0].pageY;
var disY = meY - seY;
var disX = meX - seX;
return pageWindow.off('touchend').on('touchend',function(ee){
if(disY>0 && pageWindow.scrollTop() <=0){//向上滚动加载之前的数据
scope.$apply(function(){
scope.loadMore(0);
});
}else if (disY<0 && $(window).scrollTop() + $(window).height() - $(document).height() >= 0){//向下滚动加载之后的数据
scope.$apply(function(){
scope.loadMore(1);
});
}
})
})
}
})
}
};
}])