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 相关文章推荐
JavaScript给按钮绑定点击事件(onclick)的方法
Apr 07 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
Mar 21 Javascript
简单谈谈JS数组中的indexOf方法
Oct 13 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
js实现的在线调色板功能完整实例
Dec 21 Javascript
Node.js中看JavaScript的引用
Apr 22 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
Jul 02 Javascript
JS文件中加载jquery.js的实例代码
May 05 jQuery
vue生成文件本地打开查看效果的实例
Sep 06 Javascript
JS Array.from()将伪数组转换成数组的方法示例
Mar 23 Javascript
JavaScript实现网页动态生成表格
Nov 25 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简单实现文件或图片强制下载的方法
2016/12/06 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
python中urllib模块用法实例详解
2014/11/19 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
六一儿童节致辞
2015/07/31 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
python基于tkinter实现gif录屏功能
2021/05/19 Python
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python
mysql数据库实现设置字段长度
2022/06/10 MySQL