小程序实现分页效果

 更新时间:2021年05月26日 10:42:29   作者:MrLi-2018  
这篇文章主要为大家详细介绍了小程序实现分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了小程序实现分页效果展示的具体代码,供大家参考,具体内容如下

<view class="pages_box">
  <view bindtap="pagesFn" class="{{pagesNum==0?'active':''}}" data-type="0">上一页</view>
  <block wx:for="shujuDataArr11111" wx:key="index" wx:if="{{index+1<4}}">
    <view wx:if="{{tyindex+index <=maxPages}}" bindtap="pagesFn" class="{{pagesNum==tyindex+index?'active':''}}" data-type="{{tyindex+index}}">{{tyindex+index}}</view>
  </block>
  <view bindtap="pagesFn" class="{{pagesNum==-1?'active':''}}" data-type="-1">下一页</view>
</view>

js:

// pages/ceshiPages/index.js
Page({
 
  /**
   * 页面的初始数据
   */
  data: {
    pagesNum:1,
    maxPages:15,//分页总数量
    tyindex:1
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
 
  },
    pagesFn:function(e){
    let type = e.currentTarget.dataset.type;
    let _that = this;
    if(typeof type == "string"){//上下页
      if(type == "previous_page"){//上一页
        if(_that.data.pagesNum-1 >0){
          _that.setData({
            pagesNum:_that.data.pagesNum-1,
            tyindex:_that.data.pagesNum-1,
          })
        }
        console.log(_that.data.pagesNum)
      }else{//下一页
        if(_that.data.pagesNum+1 <= _that.data.maxPages){
          if((_that.data.pagesNum+1)%3 == 0){
            _that.setData({
              tyindex:_that.data.pagesNum+1,
            })
          }
          _that.setData({
            pagesNum:_that.data.pagesNum+1,
          })
          console.log(_that.data.pagesNum)
        }
      }
    }else{
      console.log(_that.data.pagesNum)
      if(type>_that.data.pagesNum){
        if(type <= _that.data.maxPages){
          _that.setData({
            tyindex:type,
            pagesNum:type,
          })
        }
      }
      if(type<_that.data.pagesNum){
        if(type >=1){
          _that.setData({
            tyindex:type,
            pagesNum:type,
          })
        }
      }
      console.log(_that.data.pagesNum)
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
 
  },
 
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
 
  },
 
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
 
  },
 
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
 
  }
})

CSS:

/* pages/ceshiPages/index.wxss */
.pages_box{
  margin-top: 20rpx;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  justify-content: space-around;
  align-content: flex-start;
  flex-wrap: nowrap;
}
.pages_box>view{
  line-height: 60rpx;
  font-size: 30rpx;
  border: 1px solid #A0A0A0;
  background-color: #F7F7F7;
  display: inline-block;
  padding: 0 25rpx;
  margin-left: 12rpx;
  color: #64646C;
  border-radius: 10rpx;
}
.pages_box>view.active{
  background-color: #FCD821;
  border-color: #F39800;
}
.pages_box>view:last-child,.pages_box>view:first-child{
  border-radius: 60rpx;
  padding: 0 30rpx;
}

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

相关文章

  • BootStrap的Datepicker控件使用心得分享

    BootStrap的Datepicker控件使用心得分享

    bootstrap就非常好用,而且框架布局很漂亮,用起来也很简单。今天小编给大家分享BootStrap的Datepicker控件使用心得,一起看看吧
    2016-05-05
  • JavaScript清空数组元素的两种方法简单比较

    JavaScript清空数组元素的两种方法简单比较

    这篇文章主要介绍了JavaScript清空数组元素的两种方法简单比较,罗列了几种常见的情况javascript数组的方法,并且比较了其中的两种常见方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • JS时间转换标准格式、时间戳转换标准格式的示例代码

    JS时间转换标准格式、时间戳转换标准格式的示例代码

    这篇文章主要介绍了JS时间转换标准格式、时间戳转换标准格式的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 如何写好你的JavaScript【推荐】

    如何写好你的JavaScript【推荐】

    在实际工作中,我们应该经常会看到一些功能上没有问题,但编码风格和规范却十分糟糕的代码,这往往会让人不敢再往下阅读,甚至会影响阅读者一天的心情。本文的目的在于帮助那些没有养成良好的编码风格,缺乏相应编码规范意识的JavaScript学习者们改善他们的编码形象。
    2017-03-03
  • 纯原生js实现table表格的增删

    纯原生js实现table表格的增删

    本文主要介绍了纯原生javascript实现table表格的增删的方法,文章底部提供了完整的代码。需要的朋友一起来看下吧
    2017-01-01
  • 关于promise和async用法以及区别详解

    关于promise和async用法以及区别详解

    Promise是一个构造函数,我们就可以new Promise()得到一个 Promise的实例,下面这篇文章主要给大家介绍了关于promise和async用法以及区别的相关资料,需要的朋友可以参考下
    2023-01-01
  • 不错的新闻标题颜色效果

    不错的新闻标题颜色效果

    [红色]不错的新闻标题颜色效果...
    2006-12-12
  • JavaScript中0和

    JavaScript中0和""比较引发的问题

    这篇文章主要介绍了JavaScript中0和""比较引发的问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • JS中parseInt()和map()用法分析

    JS中parseInt()和map()用法分析

    这篇文章主要介绍了JS中parseInt()和map()用法,结合实例形式分析了parseInt()和map()方法的功能、参数、具体用法与相关注意事项,需要的朋友可以参考下
    2016-12-12
  • 为什么说JavaScript预解释是一种毫无节操的机制详析

    为什么说JavaScript预解释是一种毫无节操的机制详析

    这篇文章主要给大家介绍了关于为什么说JavaScript预解释是一种毫无节操的机制的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-11-11

最新评论