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 相关文章推荐
非常好的js代码
Jun 27 Javascript
JAVASCRIPT对象及属性
Feb 13 Javascript
js身份证验证超强脚本
Oct 26 Javascript
jquery ready函数源代码研究
Dec 06 Javascript
JavaScript 中的日期和时间及表示标准介绍
Aug 21 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
JavaScript事件委托实例分析
May 26 Javascript
实现easyui的datagrid导出为excel的示例代码
Nov 10 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
Jun 04 Javascript
JS去掉字符串中所有的逗号
Oct 18 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
Sep 29 Javascript
RxJS的入门指引和初步应用
Jun 15 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
PHP如何编写易读的代码
2007/07/10 PHP
PHP版自动生成文章摘要
2008/07/23 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
2015/06/05 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Django框架 信号调度原理解析
2019/09/04 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
中国跨境电商:Tomtop
2017/03/16 全球购物
美国健康和保健平台:healtop
2020/07/02 全球购物
EJB timer的种类
2014/10/28 面试题
见习报告格式要求
2014/11/04 职场文书
党员公开承诺书2015
2015/01/21 职场文书
整脏治乱工作简报
2015/07/21 职场文书
python常见的占位符总结及用法
2021/07/02 Python
Python绘制散乱的点构成的图的方法
2022/04/21 Python
MySql数据库 查询时间序列间隔
2022/05/11 MySQL