AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法


Posted in Javascript onDecember 14, 2016

本文实例讲述了AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法。分享给大家供大家参考,具体如下:

1.分页加载数据的基础上,如何通过滚动加载,实现分页加载数据的效果,github上,针对AngularJS,有一款不错的插件,地址为:https://github.com/sroze/ngInfiniteScroll

2.下面来看官方给出的文档

(1)使用样例:

<ANY infinite-scroll='{expression}'
   [infinite-scroll-distance='{number}']
   [infinite-scroll-disabled='{boolean}']
   [infinite-scroll-immediate-check='{boolean}']
   [infinite-scroll-listen-for-event='{string}']>
</ANY>

解释各个属性(指令的含义)

①infinite-scroll - {expression} 当滚动到浏览器底部时,所执行的函数或者表达式,通常是函数形式。

②infinite-scroll-distance (optional) - {number} 表达式或者数字,如果是一个数字,表示滚动条距离浏览器底部多少远时,执行①中里面的函数。如果将这个值设置为2,对于1000px高度的元素,当元素底部距离浏览器窗口底部距离在2000px像素以内,没滚动一次,都会执行一次①里面的函数。(这个值默认是0,即当元素滚动到元素底部达到浏览器窗口(滚动区域)底部时,执行滚动区域里面的函数。

③infinite-scroll-disabled (optional) - {boolean} 一个布尔值,用于标志滚动表达函数能否执行,如果值为true,表示滚动函数不能被执行。这个属性,通常用于暂停或者停止滚动。比如当我们在AJAX请求数据的过程中,移动了滚动条,这时就需要设置这个属性,禁止滚动函数的执行。

④infinite-scroll-immediate-check (optional) - {boolean} 一个布尔值,用于标志指令在初始化页面时,是否为初始执行一次(即使这种情况下,没有初始滚动),默认值为true,表示初始会执行一次这①里面的函数。

⑤infinite-scroll-listen-for-event (optional) - {string} 一个事件,当接受到这个事件时候,会重新执行滚动函数,重新定位滚动位置,比如到元素被修改时,会重新执行滚动函数。

(2)本地的DEMO

官网给出了本地运行,实现滚动加载的例子:

HTML代码:

<div ng-app='myApp' ng-controller='DemoController'>
 <div infinite-scroll='loadMore()' infinite-scroll-distance='2'>
  <img ng-repeat='image in images' ng-src='http://placehold.it/225x250&text={{image}}'>
 </div>
</div>

JS代码:

var myApp = angular.module('myApp', ['infinite-scroll']);
myApp.controller('DemoController', function($scope) {
 $scope.images = [1, 2, 3, 4, 5, 6, 7, 8];
 $scope.loadMore = function() {
  var last = $scope.images[$scope.images.length - 1];
  for(var i = 1; i <= 8; i++) {
   $scope.images.push(last + i);
  }
 };
});

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
原生js实现改变随意改变div属性style的名称和值的结果
Sep 26 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
Nov 29 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
Jan 25 Javascript
jQuery实现当前页面标签高亮显示的方法
Mar 10 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
May 19 Javascript
详解js中call与apply关键字的作用
Nov 21 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
May 24 Javascript
微信小程序实现滚动消息通知
Feb 02 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
Mar 29 Javascript
详解JavaScript中的强制类型转换
Apr 15 Javascript
k8s node节点重新加入master集群的实现
Feb 22 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 #Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 #Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 #Javascript
bootstrap模态框实现拖拽效果
Dec 14 #Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
Dec 14 #Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
Dec 14 #Javascript
Bootstrap实现圆角、圆形头像和响应式图片
Dec 14 #Javascript
You might like
php文件怎么打开 如何执行php文件
2011/12/21 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python实现控制台进度条功能
2016/01/04 Python
PyQt5实现下载进度条效果
2018/04/19 Python
对python中的pop函数和append函数详解
2018/05/04 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
国际经济贸易专业推荐信
2013/11/06 职场文书
统计员岗位职责
2013/11/14 职场文书
法律专业推荐信范文
2013/11/29 职场文书
工商管理实习生自我鉴定范文
2013/12/18 职场文书
八年级生物教学反思
2014/01/22 职场文书
学校师德师风整改方案
2014/10/28 职场文书
先进党支部事迹材料
2014/12/24 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技