AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《angularjs入门与进阶教程》及《angularjs mvc架构总结》
希望本文所述对大家angularjs程序设计有所帮助。
上一篇: asp.net(c#)两种随机数的算法,可用抽考题
下一篇: 晚秋这么做让你的肺焕然一新
推荐阅读
-
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
-
jQuery实现当拉动滚动条到底部加载数据的方法分析
-
基于vue和react的spa进行按需加载的实现方法
-
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
-
AngularJS框架的ng-app指令与自动加载实现方法分析
-
AngularJS基于provider实现全局变量的读取和赋值方法
-
AngularJS中ng-options实现下拉列表的数据绑定方法
-
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
-
jQuery基于ajax实现页面加载后检查用户登录状态的方法
-
vue elementUI table表格数据 滚动懒加载的实现方法