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 相关文章推荐
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 Javascript
JQery 渐变图片导航效果代码 漂亮
Jan 01 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
Jan 19 Javascript
javascript回车完美实现tab切换功能
Mar 13 Javascript
js实现数组转换成json
Jun 26 Javascript
浅谈JavaScript 数据属性和访问器属性
Sep 01 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
Sep 21 Javascript
Vue入门之animate过渡动画效果
Apr 08 Javascript
vue+iview+less 实现换肤功能
Aug 17 Javascript
vue 强制组件重新渲染(重置)的两种方案
Oct 29 Javascript
JavaScript数组类型Array相关的属性与方法详解
Sep 08 Javascript
javascript数组includes、reduce的基本使用
Jul 02 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
Python中几个比较常见的名词解释
2015/07/04 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
pandas中去除指定字符的实例
2018/05/18 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
python实现最长公共子序列
2018/05/22 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
python 将Excel转Word的示例
2021/03/02 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
C#的几个面试问题
2016/05/22 面试题
国外软件测试工程师面试题
2016/12/09 面试题
励志演讲稿3分钟
2014/08/21 职场文书
报名委托书
2015/01/29 职场文书
研究生给导师的自荐信
2015/03/06 职场文书