微信小程序下面商品左右滑動上面tab也跟隨變動功能實現(xiàn)
小程序下面商品左右滑動上面tab也跟隨變動功能
點擊tab切換下面的上面信息,商品左右滑動切換上面的tab分類
功能描述:點擊tab切換下面的商品信息;滑動下面的商品信息tab也進(jìn)行切換。
第一步:我們先來說一下上面的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對應(yīng)的商品 --> <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>
/* 內(nèi)容 */ .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 本身是有高度的,不會因為內(nèi)部元素?fù)伍_。
2 scroll-view scroll-y="true" 是需要給scroll設(shè)置高度。所以代碼中標(biāo)明的橘色是為了說明這個問題
swiperSwitchTab(e){ // e.detail.current tab的index console.log('左右滑動下面商品',e.detail.current) this.setData({ currentId: this.data.cates[e.detail.current].id }) // 根據(jù)id去調(diào)用接口,替換listData數(shù)據(jù) this.getData();}
復(fù)制上面代碼試試效果吧!
到此這篇關(guān)于小程序下面商品左右滑動上面tab也跟隨變動功能的文章就介紹到這了,更多相關(guān)小程序tab內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS實現(xiàn)滑動菜單效果代碼(包括Tab,選項卡,橫向等效果)
這篇文章主要介紹了JS實現(xiàn)滑動菜單效果代碼,以實例形式實現(xiàn)了包括Tab,選項卡,橫向等效果,非常簡單實用,需要的朋友可以參考下2015-09-09基于dataset的使用和圖片延時加載的實現(xiàn)方法
下面小編就為大家分享一篇基于dataset的使用和圖片延時加載的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12學(xué)習(xí)RxJS之JavaScript框架Cycle.js
這篇文章主要介紹了學(xué)習(xí)RxJS之JavaScript框架Cycle.js ,它是一個極簡的JavaScript框架(核心部分加上注釋125行),提供了一種函數(shù)式,響應(yīng)式的人機(jī)交互接口,需要的朋友可以參考下2019-06-06