angular.js+bootstrap 自己做分页插件(一) 分页条的逻辑实现

4 篇文章 0 订阅
3 篇文章 0 订阅

效果如下

动态的改变每页显示条数,改变页面数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.min.css" />
		<script type="text/javascript" src="js/angular.min.js"></script>
		<script type="text/javascript" src="js/jquery-3.3.1.min.js" ></script>
		<script type="text/javascript" src="bootstrap-3.3.7-dist/js/bootstrap.min.js" ></script>
	</head>
	<body ng-app="myApp" ng-controller="ctr1" >
		<p>每页显示<input type="text" ng-model="pagenum" ng-blur="getPages(1)"/>条数 </p>
		<ul class="pagination">
			<li ng-class="{disabled:1==page}"><a href="#" ng-click="getPages(page-1<1?1:page-1)">«</a></li>
			<li ng-repeat="item in pages" ng-class="{active:item==page}"><a href="#" ng-click="getPages(item)" >{{item}}</a></li>
			<li ng-class="{disabled:totalPages==page}"><a href="#" ng-click="getPages(page+1>totalPages?totalPages:page+1)">»</a></li>
		</ul>
		<script>
			var app = angular.module('myApp',[]);
			function getPages(currentpage,firstPage,endPage,pageNum){
				console.log("f:"+firstPage);
				console.log("num:"+pageNum);
				var pages = [];
				var size = parseInt(firstPage)+parseInt(pageNum);
				console.log(size);
				for(var i=firstPage;i<size;i++){
					pages.push(i);
				}
				console.log("pages:"+pages)
				return pages;
			}
			
			app.controller('ctr1',function($scope){
				$scope.totalPages = 24;
				$scope.pagenum = 5
				$scope.getPages = function(page){
					$scope.pages = [];
					var firspage=0,endpage=0;
					if(page<$scope.pagenum){
						firspage = 1;
						endpage = $scope.pagenum;
					}else{
						var index = $scope.totalPages-page;
						if(index<($scope.pagenum-1)){
							firspage = $scope.totalPages-($scope.pagenum-1);
							endpage = $scope.totalPages;
						}else{
							firspage = page-(Math.ceil($scope.pagenum/2));
							endpage = page+(Math.ceil($scope.pagenum/2));
						}
					}
					$scope.pages = getPages(0,firspage,endpage,$scope.pagenum);
					$scope.page = page;
					console.log($scope.pages);
				}
				$scope.getPages(1);
			});
		</script>
	</body>
	
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xq30397022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值