Angularjs 滚动加载更多数据


Posted in Javascript onMarch 17, 2016

下面的例子只是为了简单记录怎么使用angularjs来实现滚动加载数据,具体的还是需要具体看待:

Javascript部分的controller

app.controller('AnalysizerCtrl', ['$scope', '$timeout', '$window',
function ($scope, $timeout, $window) {
$scope.showData = false;
$scope.isLoadingPIG = false;
$scope.isLoadingUJ = false;
$scope.isLoadingBoxSummary = false;
$scope.LoadingData = function (index) {
$scope.showData = true;
var pigHeight = $(".analysisContainer")[1].children[1].scrollHeight;
var ujHeight = $(".analysisContainer")[1].children[2].scrollHeight;
var boxSummaryHeight = $(".analysisContainer")[1].children[3].scrollHeight;
if (index == 0) {
//$scope.reLoadData = true;
pigHeight = 0;
ujHeight = 0;
$scope.gridOptions.data = null;
}
var showSummaryBox = function () {
$scope.isLoadingBoxSummary = false;
}
var showUj = function () {
$scope.isLoadingUJ = false;
//$scope.isLoadingSummaryBox = true;
//$timeout(showSummaryBox, 1000);
}
var showPig = function () {
$scope.isLoadingPIG = false;
//$scope.isLoadingUJ = false;
//$timeout(showUj, 10000);
}
if (pigHeight == 0) {
$scope.isLoadingPIG = true;
$timeout(showPig, 1000);
} else if (ujHeight == 0) {
$scope.isLoadingUJ = true;
$timeout(showUj, 1000);
} else if (boxSummaryHeight == 0) {
$scope.isLoadingBoxSummary = true;
$timeout(showSummaryBox, 1000);
}
};
}]
).directive('whenScrollEnd', function () {
return function (scope, elm, attr) {
var pageWindow = $(this);
pageWindow.bind('scroll', function (et, ed, pb) {
var winScrollTop = pageWindow.scrollTop();
var winHeight = pageWindow.height();
var maxScrollHeight = $(".analysisContainer")[1].scrollHeight;
if ((winScrollTop + winHeight) > maxScrollHeight) {
scope.$apply(attr.whenScrollEnd);
}
});
}
});

下面是HTML部分:

<div class="analysisContainer" ng-show="showData" when-scroll-end="LoadingData()">
<div id="b" ng-show="isLoadingPIG" style="width: 100%; text-align: center; z-index: 1">
<h6 class="loading">
<img src="~/Content/Images/loading2.gif" />
Loading Win & Convert data...
</h6>
</div>
<div id="a" ng-show="!isLoadingPIG">
<img src="~/2016-03-16_152323.png" />
</div>
<div ng-show="!isLoadingUJ">
<img src="~/2016-03-16_153347.png" />
</div>
<div ng-show="!isLoadingBoxSummary">
<img src="~/2016-03-16_153404.png" />
</div>
</div>

重要的部分是指令(directive)和滚动时要加载数据的部分。

Angularjs 滚动加载更多数据的相关知识,小编就给大家介绍这么多,希望对大家有所帮助!

Javascript 相关文章推荐
变量声明时命名与变量作为对象属性时命名的区别解析
Dec 06 Javascript
Jquery Ajax方法传值到action的方法
May 11 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
May 21 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
Jun 12 Javascript
vue2滚动条加载更多数据实现代码
Jan 10 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
js blob类型url的视频下载问题的解决
Nov 29 Javascript
JS可断点续传文件上传实现代码解析
Jul 30 Javascript
你不知道的 TypeScript 高级类型(小结)
Aug 28 Javascript
Javascript柯里化实现原理及作用解析
Oct 22 Javascript
基于jquery实现智能提示控件intellSeach.js
Mar 17 #Javascript
JavaScript函数内部属性和函数方法实例详解
Mar 17 #Javascript
基于jquery实现简单的分页控件
Mar 17 #Javascript
jQuery实现图片局部放大镜效果
Mar 17 #Javascript
jQuery实现放大镜效果实例代码
Mar 17 #Javascript
node.js使用cluster实现多进程
Mar 17 #Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
Mar 17 #Javascript
You might like
PHP截取中文字符串的问题
2006/07/12 PHP
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
JS继承 笔记
2011/07/13 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
Python使用asyncio包处理并发详解
2017/09/09 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
员工自我鉴定
2013/10/09 职场文书
毕业生求职自荐信怎么写
2014/01/08 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
通知格式
2015/04/27 职场文书
合同审查法律意见书
2015/06/04 职场文书
部门主管竞聘书
2015/09/15 职场文书
Pytorch中的数据集划分&正则化方法
2021/05/27 Python
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技