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 操作符实例代码
Oct 24 Javascript
JavaScript Event事件学习第一章 Event介绍
Feb 07 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
Jul 04 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
Javascript跨域请求的4种解决方式
Mar 17 Javascript
自动设置iframe大小的jQuery代码
Sep 11 Javascript
使用text方法获取Html元素文本信息示例
Sep 01 Javascript
Node.js模块封装及使用方法
Mar 06 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
Aug 05 Javascript
jQuery如何防止Ajax重复提交
Oct 14 Javascript
canvas绘制万花筒效果(代码分享)
Jan 20 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
Sep 24 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
PHP中PDO的错误处理
2011/09/04 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
PHP反向代理类代码
2014/08/15 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
Yii框架表单提交验证功能分析
2017/01/07 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
使用jquery解析XML示例代码
2014/09/05 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
Angular通过指令动态添加组件问题
2018/07/09 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
python实现封装得到virustotal扫描结果
2014/10/05 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
Python中的 enum 模块源码详析
2019/01/09 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
高级3D打印市场:Gambody
2019/12/26 全球购物
《云雀的心愿》教学反思
2014/02/25 职场文书
慈善晚会策划方案
2014/05/14 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
nginx之内存池的实现
2022/06/28 Servers