微信小程序官方横向滚动tab

先看效果:



Page({
    data: {
        bodyList: [
          {
              id:1,
              title:"美食"
          },
           {
              id:2,
              title:"鲜花"
          },
           {
              id:3,
              title:"果蔬"
          }, {
              id:4,
              title:"蛋糕"
          }, {
              id:5,
              title:"洗衣"
          }, {
              id:6,
              title:"保洁"
          }, {
              id:7,
              title:"看护"
          },{
              id:8,
              title:"跑腿"
          },{
              id:9,
              title:"维修"
          },{
              id:10,
              title:"教育"
          },{
              id:11,
              title:"出行"
          },{
              id:12,
              title:"宠物"
          },{
              id:13,
              title:"技能"
          },{
              id:14,
              title:"住宿"
          }
          ,{
              id:15,
              title:"生鲜"
          }
          ,{
              id:16,
              title:"自驾"
          }
          ,{
              id:17,
              title:"旅行"
          }
          ,{
              id:18,
              title:"母婴"
          },{
              id:19,
              title:"优惠"
          },
          {
              id:20,
              title:"其他"
          }
        ],
        activeIndex: 0,
        sliderOffset: 0,
        sliderLeft: 0,
    },
    onLoad: function (param) {
        mythis = this;
        wx.getSystemInfo({
            success: function (res) {
              mythis.setData({
                        windowHeight: res.windowHeight - 51, windowWidth: res.windowWidth, sliderLeft: 8, sliderOffset: res.windowWidth / mythis.data.bodyList.length * mythis.data.activeIndex
                    });
            }
        })
    },
    
    tabClick: function (e) {
        var id = e.currentTarget.id;
        mythis.setData({
            sliderOffset: e.currentTarget.offsetLeft,
            activeIndex: id,
        });
    }
});



<scroll-view scroll-x="true" style="height:51px;">

    <view class="weui-navbar" style="width:{{bodyList.length*50}}px;">
      <block wx:for-items="{{bodyList}}" wx:for-item="item" wx:key="{{index}}">
        <view id="{{index}}" class="weui-navbar__item {{activeIndex == index ? 'weui-bar__item_on' : ''}}" bindtap="tabClick">
          <view class="weui-navbar__title">{{item.title}}</view>
        </view>
      </block>
      <view class="weui-navbar__slider" style="width:{{windowHeight/bodyList.length/windowHeight*100}}%; transform: translateX({{sliderOffset}}px); -webkit-transform: translateX({{sliderOffset}}px);"></view>
    </view>

  </scroll-view>



代码上有任何问题的可以关注我们的公众号:前端人  ,找到我





  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值