微信小程序下面商品左右滑动上面tab也跟随变动功能实现

小程序下面商品左右滑动上面tab也跟随变动功能

点击tab切换下面的上面信息,商品左右滑动切换上面的tab分类

功能描述:点击tab切换下面的商品信息;滑动下面的商品信息tab也进行切换。

第一步:我们先来说一下上面的tab,tab我们使用scroll-view scroll-x="true" 就可以。

<scroll-view class="cates" scroll-x="true" scroll-with-animation="true" >
    <block wx:for="{{cates}}" wx:key="index">
      <view class="{{item.id === currentId?'cate-item-act cate-item':'cate-item'}}" data-id="{{item.id}}" bindtap="cateChange">{{item.name}}</view>
    </block>
</scroll-view>
/* 分类 */
.cates {
  position: fixed;
  z-index: 100;
  top: 0;
  white-space: nowrap;
  width: 100%;
  padding: 20rpx 30rpx;
  box-sizing: border-box;
  font-family: Hiragino Sans GB;
  background-color: #fff;
  border-top: 1rpx solid #eee;
}
.cates .cate-item {
  display: inline-block;
  padding: 10rpx 20rpx;
  font-size: 26rpx;
  margin-right: 20rpx;
  color: #767A84;
}
.cates .cate-item:last-child{
  margin-right: 0rpx;
}
.cates .cate-item-act {
  background: #3293FF;
  color: #fff;
  border-radius: 48rpx;
}

第二步:接着就是下面的商品部分,我们可以使用swiper +scroll-view 来完成。

<view class="content">
    <swiper class="cont-swiper" bindchange="swiperSwitchTab" style="height: 600px;">
      <block wx:key="index" wx:for="{{cates}}">
        <swiper-item class="cont-swiper-item" data-id="{{item.id}}" style="height:100%" wx:key="*this">
          <!-- 每个tab对应的商品 -->
          <scroll-view scroll-y="true" style="height: 600px;" bindscroll="contenScrollY" scroll-with-animation="true">
            <block wx:for="{{serviceList}}" wx:key="index">
              <view class="con-item">{{item.name}}</view>
            </block>
          </scroll-view>
        </swiper-item>
      </block>
    </swiper>
 </view>
/* 内容 */
.content {
  width: 100%;
  height: 100%;
  padding: 130rpx 0rpx;
  box-sizing: border-box;
}
.content .cont-swiper {
  padding: 0 30rpx;
}
.content .con-item {
  width: 100%;
  height: 200rpx;
  background-color: rgb(180, 140, 221);
  margin-top: 30rpx;
  border-radius: 20rpx;
  line-height: 200rpx;
  text-align: center;
}

需要注意的问题:

1 swiper 本身是有高度的,不会因为内部元素撑开。

2 scroll-view scroll-y="true" 是需要给scroll设置高度。所以代码中标明的橘色是为了说明这个问题

swiperSwitchTab(e){
    // e.detail.current tab的index
    console.log('左右滑动下面商品',e.detail.current)
    this.setData({
      currentId: this.data.cates[e.detail.current].id
    })
    // 根据id去调用接口,替换listData数据   this.getData();}

复制上面代码试试效果吧!

到此这篇关于小程序下面商品左右滑动上面tab也跟随变动功能的文章就介绍到这了,更多相关小程序tab内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 微信小程序tab切换可滑动切换导航栏跟随滚动实现代码

    简介 看到今日头条小程序页面可以滑动切换,而且tab导航条也会跟着滚动,点击tab导航,页面滑动,切导航栏也会跟着滚动,就想着要怎么实现这个功能 像商城类商品类目如果做成左右滑动切换类目用户体验应该会好很多,我这里只是一个小demo,没有怎么去考虑数据的问题,主要是想着去实现这么个功能,有可能后期引入数据后会出现问题,欢迎提出互相讨论 解决过程 1.在想要实现这个问题的时候找了不少别人的博客看,主体页面布局方面是比较统一的,tab导航栏使用<scroll-view>标签,内容使用<swi

  • 微信小程序tab左右滑动切换功能的实现代码

    效果图: 一.简介 自己的小程序需要实现这样的功能 1.核心思想 swiper 和scroll-view共用两个变量currentTab  navScrollLeft,当点击nav或者滑动swiper时设置两个变量的值为当前的index 二.实现 tab导航栏使用<scroll-view>标签,内容使用<swiper> 1.wxml实现 <view class="container"> <!-- tab导航栏 --> <!-- sc

  • 微信小程序顶部导航栏滑动tab效果

    小程序商品展示需要导航栏的商品分类进行滑动,供大家参考,具体内容如下 效果图: 首先是滑动的效果: <scroll-view scroll-x="true" style="width: 100%;white-space:nowrap;"> </scroll-view> 小程序使用</scroll-view>,横向移动即可 WXML:这里面我将导航栏显示类目定义为5个,每个20%,当超出5个分类,也就是index>4的时候,导

  • 微信小程序滚动Tab实现左右可滑动切换

     微信小程序滚动Tab实现左右可滑动切换 效果: 最终效果如上.问题: 1.tab标题总共8个,所以一屏无法全部显示. 2.tab内容区左右滑动切换时,tab标题随即做标记(active). 3.当active的标题不在当前屏显示时,要使其能显示到当前屏中. 一.wxml结构 tab标题因一排八个,所以使用 scroll-view组件,使其可横向滚动. tab内容可左右滑动切换,使用swiper组件实现 为了偷懒,所以数据都通过wx:for遍历重复出来. 说明: 1.设置data-current

  • 微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例

    本文实例讲述了微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能.分享给大家供大家参考,具体如下: 顶部滚动选项卡 话不多说,直接上代码 pages/home/home.wxml <scroll-view scroll-x="true" style='width: 100%; white-space:nowrap; '> <!-- tab --> <view class="tab"> <view class=&qu

  • 10行代码实现微信小程序滑动tab切换

    本文实例为大家分享了微信小程序滑动tab切换展示的具体代码,供大家参考,具体内容如下 效果预览: js部分: Page({ data: { arr: [1,2,3,4,5,6,7,8], index: 1 }, onLoad: function (options) { this.setData({ childW: this.data.arr.length * 80 }); }, tabOn: function (e) { this.setData({ index: e.currentTarget

  • 小程序实现点击tab切换左右滑动

    本文实例为大家分享了小程序实现点击tab切换左右滑动的具体代码,供大家参考,具体内容如下 wxml <scroll-view scroll-x="true" class="navbar-box"> <block wx:for="{{recordMain}}" wx:for-index="idx" wx:for-item="navItem" wx:key="idx">

  • 微信小程序下面商品左右滑动上面tab也跟随变动功能实现

    小程序下面商品左右滑动上面tab也跟随变动功能 点击tab切换下面的上面信息,商品左右滑动切换上面的tab分类 功能描述:点击tab切换下面的商品信息:滑动下面的商品信息tab也进行切换. 第一步:我们先来说一下上面的tab,tab我们使用scroll-view scroll-x="true" 就可以. <scroll-view class="cates" scroll-x="true" scroll-with-animation=&quo

  • 微信小程序 监听手势滑动切换页面实例详解

    微信小程序 监听手势滑动切换页面实例详解 1.对应的xml里写上手势开始.滑动.结束的监听: <view class="touch" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd" ></view> 2.js: var touchDot = 0;//触摸时的原点 var time = 0;// 时

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

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

  • 微信小程序实现卡片层叠滑动效果

    本文实例为大家分享了微信小程序之卡片层叠滑动效果的具体代码,供大家参考,具体内容如下 代码: js: // index/gun/jsSwiper2/jsSwiper2.js Page({ /** * 页面的初始数据 */ data: { startX: 0, endX: 0, iCenter: 3, datas: [{ id: 1, zIndex: 2, opacity: 0.2, left: 40, iamge: "../../images/1.jpg", animation: nu

  • 微信小程序实现通过双向滑动缩放图片大小的方法

    本文实例讲述了微信小程序实现通过双向滑动缩放图片大小的方法.分享给大家供大家参考,具体如下: 在做小程序开发的过程中,后端传来一张图片地图,需要实现双手指滑动,使图片缩放,最终得出了一下代码: js : Page({ data: { touch: { distance: 0, scale: 1, baseWidth: null, baseHeight: null, scaleWidth: null, scaleHeight: null } }, touchStartHandle(e) { //

  • 微信小程序实现商品属性联动选择

    本文实例为大家分享了微信小程序实现商品属性联动选择的具体代码,供大家参考,具体内容如下 效果演示: 代码示例 1.commodity.xml <!-- <view class="title">属性值联动选择</view> --> <!--options--> <view class="commodity_attr_list"> <!--每组属性--> <view class="a

  • 微信小程序基于movable-view实现滑动删除效果

    基于movable-view实现的一种较为完美的滑动删除效果 前言:用了很多去实现滑动删除的效果,都不太尽如人意,最后用小程序官方专用滑动组件来实现,但是这个组件有一点坑,咱们慢慢道来 1.wxml布局 <view class="list"> <view class="row" wx:for="{{list}}" wx:key="id"> <movable-area class="lis

  • 微信小程序实现页面左右滑动

    本文实例为大家分享了微信小程序实现页面左右滑动的具体代码,供大家参考,具体内容如下 效果: wxml文件 <view bindtouchmove="tap_drag" bindtouchend="tap_end" bindtouchstart="tap_start" class="page-top {{open ? ['c-state','cover'] : ''}} "> <view bindtap=&qu

  • 微信小程序实现加入购物车滑动轨迹

    本文实例为大家分享了微信小程序实现加入购物车滑动轨迹的具体代码,供大家参考,具体内容如下 index.wxss .good_box { width: 80rpx; height: 80rpx; position: fixed; border-radius: 50%; overflow: hidden; left: 50%; top: 50%; z-index: 99; } index.wxml <view class="iconfont icongouwuche recommend_ite

  • 微信小程序scroll-view不能左右滑动问题的解决方法

    最近在做自己小程序项目.因为并非专业前端 .所以一步一掉坑.在这里想着把遇到的问题总结一下.避免重复进坑. 问题: 在小程序页面布局的时候用到了scroll-view组件,发现横向移动没有效果.在网上查阅了一下资料发现问题所在. 我的wxml代码 <scroll-view scroll-x="true" class="scroll" bindscrolltolower="lower" bindscroll="scroll"

随机推荐