微信小程序实现列表的横向滑动方式

微信小程序原生方式实现列表的横向滑动的两种方法:

效果图:

方式一:简单样式实现

父元素设置:

white-space:nowrap;//不换行
overflow-x: auto;子元素设置:
display:inline-block;

方式二:scroll-view 标签 + 样式

scroll-view的横向滚动:

  • scroll-view的内层view元素需要:display:inline-block;
  • scroll-view的外层元素需要:white-space:nowrap;

实现代码:

1.wxml

<!--pages/packageA//multiple-function/multiple-function.wxml-->
<view class="content">
   <view class="Btn">
     <view class="clickBtn" data-id="" bindtap = "toClickTab">返回功能列表页</view>
   </view>
   <view>实现横向滚动效果:</view>
   <view style="margin-top: 60rpx;">
     方式一:<view>父元素设置 white-space:nowrap;//不换行 overflow-x: auto;</view>
        <view>子元素设置display:inline-block;</view>
   </view>
   <view class="listContent">
     <view class="item" wx:for="{{userList}}" wx:key="{{index}}">
       <image class="userAvatar" src="{{item.avatar}}" mode="aspectFit"/>
       <view class="userName">{{item.userName}}</view>
     </view>
   </view>
   <view style="margin-top: 60rpx;margin-bottom: 20rpx;">
    <view>方式二:scroll-view的横向滚动:</view>
    <view>scroll-view的内层view元素需要:display:inline-block;</view>
    <view>scroll-view的外层元素需要:white-space:nowrap;</view>
  </view>
  <view style="white-space:nowrap">
    <scroll-view scroll-x>
      <view class="listContent2">
        <view style="display: inline-block;" class="item2" wx:for="{{userList}}" wx:key="{{index}}">
          <image class="userAvatar" src="{{item.avatar}}" mode="aspectFit"/>
          <view class="userName">{{item.userName}}</view>
        </view>
      </view>
    </scroll-view>
  </view>
</view>

2.js

// pages/packageA//multiple-function/multiple-function.js
Page({

 /**
  * 页面的初始数据
  */
 data: {
  userList:[
   {'id':"1","avatar":"../../../images/tarbar/my-selected.png","userName":"用户1"},
   {'id':"2","avatar":"../../../images/tarbar/my-selected.png","userName":"用户2"},
   {'id':"3","avatar":"../../../images/tarbar/my-selected.png","userName":"用户3"},
   {'id':"4","avatar":"../../../images/tarbar/my-selected.png","userName":"用户4"},
   {'id':"5","avatar":"../../../images/tarbar/my-selected.png","userName":"用户5"},
   {'id':"6","avatar":"../../../images/tarbar/my-selected.png","userName":"用户6"},
   {'id':"7","avatar":"../../../images/tarbar/my-selected.png","userName":"用户7"},
   {'id':"8","avatar":"../../../images/tarbar/my-selected.png","userName":"用户8"},
   {'id':"9","avatar":"../../../images/tarbar/my-selected.png","userName":"用户9"},
   {'id':"10","avatar":"../../../images/tarbar/my-selected.png","userName":"用户10"},
   {'id':"11","avatar":"../../../images/tarbar/my-selected.png","userName":"用户11"},
  ]
 },

 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {

 },

 /**
  * 生命周期函数--监听页面显示
  */
 onShow: function () {

 }
})

3.wxss

/* pages/packageA//multiple-function/multiple-function.wxss */
page{
 width: 100%;
 height: 100%;
 background: #f7f7f7;
}
.main{
 width:100%;
 margin-top: 60rpx;
 position: relative;
}
.row{
 display: flex;
 flex-direction: row;
 align-items: center;
 height: 100rpx;
 background: #ffffff;
}
.hintText{
 width:90%;
 font-size: 28rpx;
 color:#000000;
 font-family: PingFang SC;
 font-weight: 400;
 padding-left: 30rpx;
}
.rightArrow{
 width:36rpx;
 height: 36rpx;
}
.line{
 margin-left: 30rpx;
 height: 1px;
 background: #eeeeee;
}

/*列表项*/
.listContent{
 width:100%;
 margin-top: 20rpx;
 white-space: nowrap;/*父元素 一行显示,不换行*/
 overflow-x: auto;

}
.item{
 display: inline-block;/*子元素 display: inline-block*/
 width:20%;
 height: 100rpx;
 text-align: center;
}
.userAvatar{
 width:60rpx;
 height: 60rpx;
}
/*用户名*/
.userName{
 font-size: 28rpx;
 color:#acacac
}

/*列表项*/
.listContent2{
 width:100%;
}
.item2{
 width:20%;
 height: 100rpx;
 text-align: center;
}

/*去除下划线的线条*/
::-webkit-scrollbar{
 width:0;
 height: 0;
 color: transparent;
}

.viewBtn{
 width: 100%;
 height: 80rpx;
 padding-top: 20rpx;
}
/*返回按钮*/
.clickBtn{
 width:250rpx;
 line-height: 1;
 font-size: 32rpx;
 font-weight: 600;
 padding: 24rpx 0;
 background-color: #07c160;
 color:#ffffff;
 margin-left: 20rpx;
 border-radius: 10rpx;
 text-align: center;
}

到此这篇关于微信小程序实现列表的横向滑动的文章就介绍到这了,更多相关微信小程序的横向滚动内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 微信小程序scroll-view仿拼多多横向滑动滚动条

    本文实例为大家分享了微信小程序横向滑动滚动条的具体代码,供大家参考,具体内容如下 效果图 实现代码 index.wxml <scroll-view scroll-x="true" class="scroll-view-x" style="padding-top:10rpx" scroll-with-animation="true" wx:if="{{tlist[currentTab].secondList}}&

  • 微信小程序scroll-view实现横向滚动和上拉加载示例

    今天介绍微信小程序中scroll-view实现横向滚动和上拉加载的实现及需要注意的地方. 先看最终效果. 横向滚动 1.设置滚动项display:inline-block; 2.设置滚动视图容器white-space: nowrap; 3.滚动项不要用float 为什么会有以上三点要求呢? 其实横向滚动官方文档中是没有做太多说明的,只说明需要定义scroll-view滚动方向scroll-x=true允许横向滚动,但是我在实践的时候我发现,你要横向滚动,首先你得是一排吧.所以才发现需要定义滚动项

  • 微信小程序实现横向滚动导航栏效果

    1.page.wx.css内容如下: <view class='classify_list'> <view class="classify">分类1</view> <view class="classify">分类1</view> <view class="classify">分类1</view> <view class="classify&quo

  • 详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现

    一.实践踩坑 项目使用mpvue开发 1. scroll-view默认是不滚动的..所以要先设置scroll-x="true"或者scroll-y="true" 2. 在scroll-view里面添加定宽元素,超过scroll-view宽度(设置了100%,即屏幕宽度)后,它竟然换行了.所以要scroll-view的样式要这样设置: scroll-view { width: 100%; white-space: nowrap; // 不让它换行 } 3. 然后在定宽

  • 微信小程序-横向滑动scroll-view隐藏滚动条

    wxml <scroll-view class="recommend_scroll_x_box" scroll-x="true"> <view class="recommend_hot_box" wx:for="{{hotList}}"> <image src="{{item.pic}}" class="recommend_hot_image"><

  • 微信小程序实现列表的横向滑动方式

    微信小程序原生方式实现列表的横向滑动的两种方法: 效果图: 方式一:简单样式实现 父元素设置: white-space:nowrap;//不换行 overflow-x: auto;子元素设置: display:inline-block; 方式二:scroll-view 标签 + 样式 scroll-view的横向滚动: scroll-view的内层view元素需要:display:inline-block; scroll-view的外层元素需要:white-space:nowrap; 实现代码:

  • 微信小程序 实现列表项滑动显示删除按钮的功能

    微信小程序 实现列表项滑动显示删除按钮的功能 微信小程序并没有提供列表控件,所以也没有iOS上惯用的列表项左滑删除的功能,SO只能自己干了. 原理很简单,用2个层,上面的层显示正常的内容,下面的层显示一个删除按钮,就是记录手指滑动的距离,动态的来移动上层元素,当然上层用绝对定位. wxml: <view class="container"> <view class="record-box" data-datetime="{{record.

  • 微信小程序实现列表项左滑删除效果

    本文实例为大家分享了微信小程序实现列表项左滑删除效果的具体代码,供大家参考,具体内容如下 效果 图片 WXML <view class="container"> <!-- 收货地址 --> <view class="address"> <view class="left"> <view class="icon"> <image src="../../i

  • 微信小程序虚拟列表的应用实例

    目录 前言 什么是虚拟列表? demo效果 准备工作 屏高&盒子高度 优化 总结 前言 股票热门榜单有4000多条,渲染到页面上在盘中时还得实时更新,如果采用接口和分页,当下拉几十页的时候页面会变的越来越卡并且还得实时更新,最后的做法是一开始数据就从ws传递过来,我们只需要传起始下标和结束下标即可,在页面上我们也只生成几个标签.大大减轻了渲染压力. 什么是虚拟列表? 就只指渲染可视区域内的标签,在滚动的时候不断切换起始和结束的下标来更新视图,同时计算偏移. demo效果 准备工作 计算一屏可展示

  • 微信小程序 实现listview带字母滑动

    微信小程序 实现listview带字母滑动 wxml <!--字母滑动--> <view class="letter-position" wx:if="{{filterType == 'name'}}" hidden="{{letterShow?'true':''}}" style="z-index:{{Zindex}}" catchtouchstart="handlerAlphaTap"

  • 微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例

    本文实例讲述了微信小程序实现slideUp.slideDown滑动效果及点击空白隐藏功能.分享给大家供大家参考,具体如下: 怎样实现jq中的slideUp或者slideDown这种动画效果呢,我的思路是用css3的transform: translateY() 属性,给需要动画的元素添加上一个动画class. 先上效果图: 1.蒙层的结构: <!-- 购物车蒙层 --> <view class='list-fix' wx:if="{{mengShow}}" bindt

  • 微信小程序wxml列表渲染原理解析

    这篇文章主要介绍了微信小程序wxml列表渲染原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 列表渲染存在的意义 以电商为例,我们希望渲染5个商品,而又希望容易改变,我们就要在wxml中动态添加. <view> <block wx:for="{{products}}" wx:for-item="item" wx:key="index"> <view>{{

  • 微信小程序顶部导航栏可滑动并选中放大

    这篇文章主要介绍了微信小程序顶部导航栏可滑动并选中放大,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 老规矩,先看效果图 可以看到我们实现了如下功能 1,顶部导航栏 2,可以左右滑动的导航栏 3,选中条目放大 原理其实很简单,我这里把我研究后的源码发给大家吧. wxml文件如下 <!-- 导航栏 --> <scroll-view scroll-x class="navbar" scroll-with-animatio

  • 解决微信小程序scroll-view组件无横向滚动的问题

    微信开放文档中scroll-view组件的部分代码如下 <scroll-view class="scroll-view_H" scroll-x="true" bindscroll="scroll" style="width: 100%"> <view id="demo1" class="scroll-view-item_H demo-text-1"></vi

  • 微信小程序多列表渲染数据开关互不影响的实现

    最近在学习小程序,正好发现一个问题,微信小程序多列表渲染数据开关怎么互不影响,记录一下,分享给大家 <!--pages/list/list.wxml--> <wxs src="../../utils/filter.wxs" module="filter" /> <view class="list"> <view wx:for="{{list}}" wx:key="{{inde

随机推荐