Vue2.0实现简单分页及跳转效果


Posted in Javascript onJuly 29, 2019

用Vue2.0实现一个数据的分页及页数的跳转,代码如下:

  • 数据绑定:{{...}}        <a v-on:click="btnClick(item)">{{item}}</a>
  • 事件绑定:v-on        <a v-on:click="cur--,pageClick()">上一页</a>
  • 判断:v-if                 <li v-if="cur==1"><a class="banclick">上一页</a></li>
  • 循环:v-for              <li v-for="item in indexs" v-bind:class="{'active':cur==item}"></li>
  • 修改样式:v-bind绑定class属性        <li v-for="item in indexs" v-bind:class="{'active':cur==item}"></li>

HTML代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>分页</title>
<style>
 *{margin: 0;padding: 0;}
 #page-break{margin-top: 20px;margin-left: 20px;}
 #page-break li{list-style: none;}
 #page-break a{border: 1px solid #ddd; text-decoration: none;float: left;padding: 6px 12px;color: #337ab7;cursor: pointer}
 #page-break a:hover{background-color: #eee;}
 #page-break a .banclick{cursor: not-allowed;}
 #page-break .active a{color: #fff;cursor: default;background-color: #337ab7;border-color: #337ab7;}
 #page-break i{font-style: normal;color: #d44950;margin: 0px 4px;font-size: 12px;}
 #page-break .jumpbox .jumppage {border: 1px solid #ddd; margin-left: 40px; height: 33px; width: 40px; float: left;}
 #page-break .jumpbox .jumpbtn {cursor: pointer; margin-left: 10px;}
 #page-break .jumpbox .jumpbtn:active {color: #337ab7;}
</style> 
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="page-break">
 <ul>
 <li v-if="cur>1">
  <a v-on:click="cur--,pageClick()">上一页</a>
 </li>
 <li v-if="cur==1">
  <a class="banclick">上一页</a>
 </li>
 <li v-for="item in indexs" v-bind:class="{'active':cur==item}">
  <a v-on:click="btnClick(item), pageClick()">{{item}}</a>
 </li>
 <li v-if="cur!=all">
  <a v-on:click="cur++,pageClick()">下一页</a>
 </li>
 <li v-if="cur==all">
  <a class="banclick">下一页</a>
 </li>
 <li><a>共<i>{{all}}</i>页</a></li>
 <div class="jumpbox">
 <input type="number" class="jumppage" />
 <a class="jumpbtn" v-on:click="pageSkip()">跳转</a>
 </div>
 </ul>
</div>
</body>
</html>

js代码如下:

new Vue({
 el: '#page-break',
 data: {
 cur: 1,
 all: 20
 },
 watch: {
 cur: function(newValue, oldValue){
 console.log(arguments);
 }
 },
 methods: {
 btnClick(num){
 if(num!=this.cur){
 this.cur=num;
 }
 },
 pageClick(){
 console.log('现在是'+this.cur+'页')
 },
 pageSkip(){
 var maxPage = this.all;
 var skipPage = Number(document.getElementsByClassName("jumppage")[0].value);
 console.log(typeof skipPage);
 if(!skipPage){
 alert("请输入跳转页码");
 return;
 }else if(skipPage<1 || skipPage>maxPage){
 alert("您输入的页码超过页数范围了!");
 return;
 }else{
 //this.cur=skipPage;
 this.btnClick(skipPage);
 this.pageClick();
 }
 }
 },
 computed: {
 indexs(){
 var left = 1;
 var right = this.all;
 var arr = [];
 if(this.all>=7){
 if(this.cur>4 && this.cur<this.all-3){
  left = this.cur-3;
  right = this.cur+3;
 }else if(this.cur<=4){
     left=1;
     right=7;
 }else{
  left=this.all-6;
  right=this.all;
 }
 }
 while(left<=right){
 arr.push(left);
 left++;
 }
 return arr;
 }
 }
})

分页显示如下:

Vue2.0实现简单分页及跳转效果

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
May 21 Javascript
js获取时间(本周、本季度、本月..)
Nov 22 Javascript
jquery实现文本框数量加减功能的例子分享
May 10 Javascript
Javascript实现简单二级下拉菜单实例
Jun 15 Javascript
jquery带下拉菜单和焦点图代码分享
Aug 24 Javascript
jQuery动画效果图片轮播特效
Jan 12 Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 Javascript
Node.js的进程管理的深入理解
Jan 09 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 jQuery
从源码角度来回答keep-alive组件的缓存原理
Jan 18 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 #Javascript
js实现多张图片每隔一秒切换一张图片
Jul 29 #Javascript
javascript面向对象程序设计实践常用知识点总结
Jul 29 #Javascript
javascript中this的用法实践分析
Jul 29 #Javascript
学习LayUI时自研的表单参数校验框架案例分析
Jul 29 #Javascript
jquery.pager.js分页实现详解
Jul 29 #jQuery
javascript面向对象创建对象的方式小结
Jul 29 #Javascript
You might like
php抓即时股票信息
2006/10/09 PHP
php header功能的使用
2013/10/28 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python运行的17个时新手常见错误小结
2012/08/07 Python
Python常用的日期时间处理方法示例
2015/02/08 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
Python内建数据结构详解
2016/02/03 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
Python探索之SocketServer详解
2017/10/28 Python
极简的HTML5模版
2015/07/09 HTML / CSS
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
会计电算化专业自荐信
2014/03/15 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
5s推行计划书
2014/05/06 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
母亲节感言
2015/08/03 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技