分页效果

html部分

  <div class="page_header">
             <div class="shou">共{{zong_all}}条记录</div>
           <div class="page-bar">
             <ul>
               <li v-on:click="btnClick(1)"><a>首页</a></li>
               <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="index in indexs"  v-bind:class="{ 'active': cur == index}">
                 <a v-on:click="btnClick(index)">{{ index }}</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 v-on:click="moClick" >末页</a></li>
               <!--<li><a>共<i>{{all}}</i>页</a></li>-->
             </ul>
           </div>
           </div>

js部分

computed: {
      indexs: function(){
        var left = 1;
        var right = this.all;
        var ar = [];
        if(this.all>= 5){
          if(this.cur > 3 && this.cur < this.all-2){
            left = this.cur - 2
            right = this.cur + 2
          }else{
            if(this.cur<=3){
              left = 1
              right = 5
            }else{
              right = this.all
              left = this.all -4
            }
          }
        }
        while (left <= right){
          ar.push(left)
          left ++
        }
        return ar
      }

    },

点击事件部分

btnClick: function(data){//页码点击事件
      this.cur = data
      this.list=this.lists.slice(((data)*10)-10,(data)*10)
    if(data==1){
        this.numbs=data

    }else{
      this.numbs=((data-1)*10)+1
    }
  },
  pageClick: function(){
    console.log(((this.cur)*10)-10)
    console.log((this.cur)*10)
    this.list=this.lists.slice(((this.cur)*10)-10,(this.cur)*10)
    console.log(this.list)
    console.log('现在在'+this.cur+'页');
    if(this.cur==1){
      this.numbs=this.cur

    }else{
      this.numbs=((this.cur-1)*10)+1
    }

  },
  moClick: function(){//页码点击事件
    if(this.lists.length % 10==0){
      this.cur=Math.floor(this.lists.length/10)
      this.list=this.lists.slice(((this.cur)*10)-10,(this.cur)*10)
      this.numbs=((this.cur-1)*10)+1
    }else{
      this.cur=(Math.floor(this.lists.length/10))+1
      this.numbs=((this.cur-1)*10)+1
      this.list=this.lists.slice(((this.cur)*10)-10,(this.cur)*10)
    }

  },

css部分

.page-bar{
display: inline-block;
margin: 20px 0px;
  height: 23px;
  font-size: 13px;
}
ul,li{
  margin: 0px;
  padding: 0px;
}
li{
  list-style: none
}
.page-bar li:first-child>a {
  margin-left: 0px
}
.page-bar a{
  border: 1px solid #248DE4;
  text-decoration: none;
  position: relative;

  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  color: #cccccc;
  cursor: pointer
}
.page-bar a:hover{
  background-color: #0a4253;
}
.page-bar li{
   float: left;
 }
.page-bar a.banclick{
  cursor:not-allowed;
}
.page-bar .active a{
  color: #cccccc;
  cursor: default;
  background-color: #337ab7;
  border-color: #337ab7;
}
.page-bar i{
  font-style:normal;
  color: #d44950;
  margin: 0px 4px;
  font-size: 12px;
}
.page_header{
  width:100%;
  /*background-color: red;*/

}
.shou{
  display: inline-block;
 position: relative;
  top: -30px;
  right: 10px;
  color: #cccccc;
  font-size: 13px;
}


在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值