电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

vue實現分頁的三種效果

瀏覽:2日期:2023-01-11 15:14:53

本文實例為大家分享了vue實現分頁效果的具體代碼,供大家參考,具體內容如下

第一種效果:數據量不大時可采用

vue實現分頁的三種效果

<!doctype html><html lang='en'><head><meta http-equiv='Content-Type' content='application/xhtml+xml; charset=UTF-8'><script src='http://www.hdgsjgj.cn/bcjs/vue.min.js' type='text/javascript'></script><title>vue分頁</title><style type='text/css'>ul{list-style:none;margin:0;}.pagetation_info{width:100%;height:27px;padding:20px 0;}ul.pagetation_box{float:right;height:100%;padding:0 60px;}ul.pagetation_box li{float:left;height:100%;border:1px solid #e6ecef;border-radius: 3px;background-color: #f8f8f8;margin:0 5px;padding:0 10px;color:#263238;cursor: pointer;text-align: center;line-height: 22px;}ul.pagetation_box li a{text-decoration: none;color:#263238;font-size: 12px;}ul.pagetation_box li.active{background-color: #FF4646;border-color:#FF4646;}ul.pagetation_box li.active a{color:#fff;}ul.pagetation_box li.prev,ul.pagetation_box li.next{width:7px;}ul.pagetation_box li:hover{background-color: #FF4646;border-color:#FF4646;}ul.pagetation_box li:hover a{color:#fff;}.num_total{float:right;height:100%;padding-top:3px;padding-bottom:3px;}.num_total>span{color:#FC5B27;}</style></head><body id='app-body'><div class='pagetation_info clearfix'><ul class='pagetation_box'><li @click=' page.currentpage = 0 '><a href='javascript:;' >首頁</a></li><li v-show=' page.currentpage > 0 ' @click=' page.currentpage-- '><a href='javascript:;' >&lt;</a></li><li v-for='d in page.totalpage' @click=' page.currentpage = $index ' :class=' page.currentpage == $index ? ’active’ : ’’ '><a href='javascript:;' >{{$index + 1}}</a></li><li v-show=' page.currentpage < page.totalpage - 1 ' @click=' page.currentpage++ '><a href='javascript:;' >&gt;</a></li><li @click=' page.currentpage = page.totalpage - 1 '><a href='javascript:;' >尾頁</a></li></ul><div class='num_total'>共 <span>{{page.totalrecord}}</span> 條信息,共 <span>{{page.totalpage}}</span> 頁</div></div><script>new Vue({el: '#app-body',data : {'page' : {'totalrecord' : 100,'currentpage' : 0,'pagesize' : 20,'totalpage' : 5,},},watch : {'page.currentpage' : function(val){var _this=this;_this._getList();},},methods : {_getList:function(){}},ready : function(){var _this = this;}});</script></body></html>

第二種效果:當數據量較大時使用

vue實現分頁的三種效果

<!doctype html><html lang='en'><head><meta http-equiv='Content-Type' content='application/xhtml+xml; charset=UTF-8'><script src='http://www.hdgsjgj.cn/bcjs/vue.min.js' type='text/javascript'></script><title>vue分頁</title><style type='text/css'>ul{list-style:none;margin:0;}.pagetation_info{width:100%;height:24px;padding:20px 0;}ul.pagetation_box{float:right;height:100%;padding:0 60px;}ul.pagetation_box li{float:left;height:100%;border:1px solid #e6ecef;background-color: #f8f8f8;margin:0 5px;padding:0 10px;color:#263238;cursor: pointer;text-align: center;line-height: 22px;}ul.pagetation_box li a{text-decoration: none;color:#263238;font-size: 12px;}ul.pagetation_box li.active{background-color: #FF4646;border-color:#FF4646;}ul.pagetation_box li.active a{color:#fff;}ul.pagetation_box li.prev,ul.pagetation_box li.next{width:7px;}ul.pagetation_box li:hover{background-color: #FF4646;border-color:#FF4646;}ul.pagetation_box li:hover a{color:#fff;}ul.pagetation_box li.more{width:24px;padding:0;background: url(../img/public/page_more.png) no-repeat center center;border:none;}.num_total{float:right;height:100%;line-height:22px;padding-top:3px;padding-bottom:3px;}.num_total>span{color:#FC5B27;}</style></head><body id='app-body'><div class='pagetation_info clearfix'> <ul class='pagetation_box'><li @click='page.currentPage=1'><a href='javascript:;' >首頁</a></li><li v-show='page.currentPage != 1' @click='page.currentPage-- && _gotoPage(page.currentPage)'><a href='javascript:;' >&lt;</a></li><li v-for='index in pages' @click='_gotoPage(index)' :class='{’active’:page.currentPage == index}'><a href='javascript:;' >{{index}}</a></li><li v-show='page.allPages != page.currentPage && page.allPages != 0 ' @click='page.currentPage++ && _gotoPage(page.currentPage)'><a href='javascript:;' >&gt;</a></li><li @click='page.currentPage=page.allPages'><a href='javascript:;' >尾頁</a></li></ul><div class='num_total'>共 <span>{{page.allRecords}}</span> 條信息,共 <span>{{page.allPages}}</span> 頁</div></div><script>new Vue({el : '#app-body',data : {'page':{'currentPage':1,'pagesize':10,'allRecords':100,'allPages':10,'showItem':4,}},watch : {'page.currentpage' : function(val){var _this=this;_this._getList();},},computed:{pages:function(){var _this=this;var p=[];if( _this.page.currentPage < _this.page.showItem ){var i = Math.min(_this.page.showItem,_this.page.allPages);while(i){p.unshift(i--);}}else{var middle = _this.page.currentPage - Math.floor(_this.page.showItem / 2 ),i = _this.page.showItem;console.log(middle,i);if( middle > (_this.page.allPages - _this.page.showItem) ){middle = (_this.page.allPages - _this.page.showItem) + 1}while(i--){p.push( middle++ );}}return p;},},methods : {_gotoPage:function(i){var _this=this;if(i == _this.page.currentPage) return;_this.page.currentPage = i;},},ready : function(){var _this = this;_this.pages;}});</script></body></html>

第三種效果:當數據量很大時使用

vue實現分頁的三種效果

<!doctype html><html lang='en'><head><meta http-equiv='Content-Type' content='application/xhtml+xml; charset=UTF-8'><script src='http://www.hdgsjgj.cn/bcjs/vue.min.js' type='text/javascript'></script><title>vue分頁</title><style type='text/css'>ul{list-style:none;margin:0;}.pagetation_info{width:100%;height:30px;padding:20px 0;}ul.pagetation_box{float:right;height:100%;padding:0 60px;}ul.pagetation_box li{float:left;height:100%;border:1px solid #e6ecef;background-color: #f8f8f8;margin:0 5px;padding:0 10px;color:#263238;cursor: pointer;text-align: center;line-height: 27px;}ul.pagetation_box li a{text-decoration: none;color:#263238;font-size: 12px;}ul.pagetation_box li.active{background-color: #03a9f4;border-color:#03a9f4;}ul.pagetation_box li.active a{color:#fff;}ul.pagetation_box li.more{background-color: #fff}ul.pagetation_box li.prev,ul.pagetation_box li.next{width:7px;}ul.pagetation_box li.prevDisabled,ul.pagetation_box li.nextDisabled{width:7px;}ul.pagetation_box li.prevDisabled a,ul.pagetation_box li.nextDisabled a{color:#ccc;}ul.pagetation_box li.prevDisabled:hover, ul.pagetation_box, li.nextDisabled:hover{background-color: #f8f8f8;border-color:#e6ecef;}ul.pagetation_box li.prevDisabled:hover a,ul.pagetation_box li.nextDisabled:hover a{color:#ccc;}ul.pagetation_box li:hover{background-color: #03a9f4;border-color:#03a9f4;}ul.pagetation_box li.more:hover{background-color: #fff;border:none;}ul.pagetation_box li:hover a{color:#fff;}ul.pagetation_box li.more{padding:0;border:none;line-height:22px;}.num_total{float:right;height:100%;line-height:22px;padding-top:3px;padding-bottom:3px;}.num_total>span{color:#FC5B27;}</style></head><body id='app-body'><div class='pagetation_info clearfix'><ul class='pagetation_box'><li v-if='page.prevBtn==true' @click='_gotoPage(’prev’)'><a href='javascript:;' >&lt;</a></li><li v-if='page.prevBtn==false'><a href='javascript:;' >&lt;</a></li><li : v-for='index in page.p1' @click='_gotoPage(index)'><a href='javascript:;' >{{index}}</a></li><li v-if='page.isShowMore1'>...</li><li : v-for='index in page.p2' @click='_gotoPage(index)'><a href='javascript:;' >{{index}}</a></li><li v-if='page.isShowMore2'>...</li><li : v-for='index in page.p3' @click='_gotoPage(index)'><a href='javascript:;' >{{index}}</a></li><li v-if='page.nextBtn==true' @click='_gotoPage(’next’)'><a href='javascript:;' >&gt;</a></li><li v-if='page.nextBtn==false'><a href='javascript:;' >&gt;</a></li></ul><div class='num_total'>共 <span>{{page.allItems}}</span> 條信息,共 <span>{{page.allPages}}</span> 頁</div></div><script>var App=new Vue({el : '#app-body',data : {'page' : {'currentPage':1,'allPages':10,'allItems':100,'pagesize':10,'showBtn':5,'nextBtn':true,'prevBtn':false,'isShowMore1':false,'isShowMore2':false,'p1':[],'p2':[],'p3':[],},},watch : {'page.currentpage' : function(val){var _this=this;_this._getList();},},computed:{pagination:function(){var _this=this;var i = _this.page.showBtn-2;if(_this.page.currentPage==_this.page.allPages){_this.page.nextBtn=false;}var p1=[],p2=[],p3=[];if( _this.page.allPages < _this.page.showBtn ){_this.page.isShowMore1=false;_this.page.isShowMore2=false;i = _this.page.allPages;while(i){p1.unshift(i--);}}else if(_this.page.allPages > _this.page.showBtn && _this.page.allPages < _this.page.showBtn+1){_this.page.isShowMore1=false;_this.page.isShowMore2=true;if(_this.page.currentPage<3){p1=[1,2,3];p3.push(_this.page.allPages);}else{p1=[1];i=_this.page.showBtn-2;while(i--){p3.unshift( _this.page.allPages-- );}}}else{if(_this.page.currentPage<3){p1=[1,2,3];p3.push(_this.page.allPages);_this.page.isShowMore1=false;_this.page.isShowMore2=true;}else if(_this.page.currentPage>_this.page.allPages-2){_this.page.isShowMore1=true;_this.page.isShowMore2=false;p1=[1];i=3;var allPages = _this.page.allPages;while(i--){p3.unshift( allPages-- );}}else{_this.page.isShowMore1=true;_this.page.isShowMore2=true;if(_this.page.currentPage==3){_this.page.isShowMore1=false;}else if(_this.page.currentPage==_this.page.allPages-1){_this.page.isShowMore2=false;}p1=[1];p3.push(_this.page.allPages);var middle=parseInt((_this.page.showBtn-2)/2);var start=_this.page.currentPage-middle;i = _this.page.showBtn-2;while(i--){p2.push(start++);}}}_this.page.p1=p1;_this.page.p2=p2;_this.page.p3=p3;}},methods : {_gotoPage:function(n){var _this=this;if(n==_this.page.currentPage){return;}if(n==1){_this.page.prevBtn=false;}else{_this.page.prevBtn=true;}if(n==_this.page.allPages){_this.page.nextBtn=false;}else{_this.page.nextBtn=true;}if(typeof n==’number’){_this.page.currentPage=n;}else if(n==’next’){_this.page.currentPage++;}else if(n==’prev’){_this.page.currentPage--;}if(_this.page.currentPage==_this.page.allPages){_this.page.nextBtn=false;}_this.pagination;},},ready : function(){var _this = this;_this.pagination;}});</script></body></html>

關于vue.js組件的教程,請大家點擊專題vue.js組件學習教程進行學習。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 学生作文网_中小学生作文大全与写作指导 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 压滤机滤板_厢式_隔膜_板框压滤机滤板厂家价格型号材质-大凯环保 | 大连海岛旅游网>>大连旅游,大连海岛游,旅游景点攻略,海岛旅游官网 | 无锡不干胶标签,卷筒标签,无锡瑞彩包装材料有限公司 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 淘趣英语网 - 在线英语学习,零基础英语学习网站 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | OpenI 启智 新一代人工智能开源开放平台| 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 北京康百特科技有限公司-分子蒸馏-短程分子蒸馏设备-实验室分子蒸馏设备 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 滤芯,过滤器,滤油机,贺德克滤芯,精密滤芯_新乡市宇清流体净化技术有限公司 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 泰兴市热钻机械有限公司-热熔钻孔机-数控热熔钻-热熔钻孔攻牙一体机 | 炉门刀边腹板,焦化设备配件,焦化焦炉设备_沧州瑞创机械制造有限公司 | 导电银胶_LED封装导电银胶_半导体封装导电胶厂家-上海腾烁 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 台式恒温摇床价格_大容量恒温摇床厂家-上海量壹科学仪器有限公司 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 中山市派格家具有限公司【官网】 | 布袋除尘器-单机除尘器-脉冲除尘器-泊头市兴天环保设备有限公司 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 不发火防静电金属骨料_无机磨石_水泥自流平_修补砂浆厂家「圣威特」 | 全自动定氮仪-半自动凯氏定氮仪厂家-祎鸿仪器 | 重庆私家花园设计-别墅花园-庭院-景观设计-重庆彩木园林建设有限公司 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 防爆鼓风机-全风-宏丰鼓风机-上海梁瑾机电设备有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 |