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 chili图片远处放大插件
Nov 30 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
Nov 25 Javascript
jquery调取json数据实现省市级联的方法
Jan 29 Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
JS实现模糊查询带下拉匹配效果
Jun 21 Javascript
Vue中使用vux配置代码详解
Sep 16 Javascript
JS实现的tab页切换效果完整示例
Dec 18 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
Jul 20 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
vue前端工程的搭建
Mar 31 Vue.js
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
虫族 Zerg 历史背景
2020/03/14 星际争霸
SONY SRF-M100的电路分析
2021/03/02 无线电
Yii控制器中操作视图js的方法
2016/07/04 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
用JQuery调用Session的实现代码
2010/10/29 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
总经理岗位职责描述
2014/02/08 职场文书
工程资料员岗位职责
2014/03/10 职场文书
个人自我鉴定总结
2014/03/25 职场文书
市政管理求职信范文
2014/05/07 职场文书
银行求职信模板
2015/03/20 职场文书