移动端滚动加载问题

2015年10月23日 · 50 字 · 1 分钟

去年写过一篇摆脱jquery!angularjs利用指令简单实现滚动翻页,但是用了一段时间之后发现很多浏览器有问题,移动端下滚动事件只有body才会触发,其他元素是不会触发的,经过改进后的指令代码如下(仅限移动端):

app.directive('whenScrolled', function() { 
return function (scope, ele, attr) {
        angular.element(window).on('scroll', function (e) {
            var a = window.screen.availHeight;
            var b = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;
            var c = document.documentElement.scrollTop == 0 ? document.body.scrollHeight : document.documentElement.scrollHeight;
            if (a + b >= c) {
                scope.$apply(attr.scrollLoad);
            }
        });
    };
});