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 相关文章推荐
javascript 继承实现方法
Aug 26 Javascript
让元素在网页中可拖动示例代码
Aug 13 Javascript
javascript禁制后退键(Backspace)实例代码
Nov 15 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
May 13 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
Jun 10 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
JavaScript中的事件委托及好处
Jul 12 Javascript
AngularJS中isolate scope的用法分析
Nov 22 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
vue.js动画中的js钩子函数的实现
Jul 06 Javascript
解决vue打包css文件中背景图片的路径问题
Sep 03 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
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
Javascript base64编码实现代码
2011/12/02 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
node.js实现快速截图
2016/08/27 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
numpy数组拼接简单示例
2017/12/15 Python
对Python中的@classmethod用法详解
2018/04/21 Python
int在python中的含义以及用法
2019/06/27 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
基于Python正确读取资源文件
2020/09/14 Python
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
幼儿园秋游活动方案
2014/01/21 职场文书
新年团拜会主持词
2014/04/02 职场文书
出生公证委托书
2014/04/03 职场文书
食品安全处置方案
2014/06/14 职场文书
党支部培养考察意见
2015/06/02 职场文书
python实现层次聚类的方法
2021/11/01 Python