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中的对象创建 实例附注释
Feb 08 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
Mar 21 Javascript
JS实现点击按钮自动增加一个单元格的方法
Mar 09 Javascript
详解angular中通过$location获取路径(参数)的写法
Mar 21 Javascript
通过js修改input、select默认字体颜色
Apr 19 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
Jun 26 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
Dec 26 Javascript
js实现动态添加上传文件页面
Oct 22 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
Jun 03 Javascript
mui js控制开关状态、修改switch开关的值方法
Sep 03 Javascript
javascript设计模式之迭代器模式
Jan 30 Javascript
cypress测试本地web应用
Jun 01 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
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
今天是星期几的4种JS代码写法
2013/09/17 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
Python多线程学习资料
2012/12/19 Python
Python版的文曲星猜数字游戏代码
2013/09/02 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
利用python计算时间差(返回天数)
2019/09/07 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
给幼儿园老师的表扬信
2014/01/19 职场文书
党员组织关系介绍信
2014/02/13 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
2014年材料员工作总结
2014/11/19 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
消防宣传语大全
2015/07/13 职场文书
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技