小程序商城项目首页导航栏与楼层栏搭建

一、分析效果以及传递来的数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FOCjKGQI-1614588797191)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/1.jpg)]

  • 现在,我们需要完成图示的导航楼层的构建
  • 根据请求来的数据,导航栏就是四张图片,而且文字都包含进去了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5rllbwjx-1614588797197)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/2.jpg)]

  • 楼层也大致可以分为标题和内容:标题包含一张图片,内容包含5张图片共3组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ldPPt1zX-1614588797224)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/3.jpg)]

二、请求数据

  • 暂时利用封装的promise请求分类导航与楼层数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-frZ5frCb-1614588797234)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/4.jpg)]

  • 在AppData中检查是否获取数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L0tL7EZp-1614588797235)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/5.jpg)]

三、分类导航构建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-46bnZLsC-1614588797236)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/6.jpg)]

  • 简单的用循环将四张图片在一行内显示,并调整一下样式即可

index.wxml:

<!-- 分类导航 开始 -->
<view class="index_cate">
  <navigator
    wx:for="{{catesList}}"
    wx:key="name">
    <image mode="widthFix" src="{{item.image_src}}"/>
  </navigator>
</view>
<!-- 分类导航 结束 -->

index.less:

.index_cate {
  display: flex;
  navigator {
    padding: 20rpx;
    flex: 1;
    image {
      width: 100%;
    }
  }
}
  • 效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-idnThoRW-1614588797238)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/7.jpg)]

四、楼层构建

  • 数据分析完毕后,清除知道需要两层循环,数据与结构的比对如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bm0baMzA-1614588797240)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/8.jpg)]

  • 其中第二循环五个照片时,后面四张图片的高度是第一张图片的一半

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PyGhi1li-1614588797241)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/9.jpg)]

index.wxml:

<!-- 楼层 开始 -->
<view class="index_floor">
  <view class="floor_group"
    wx:for="{{floorList}}"
    wx:for-item="item1"
    wx:for-index="index1"
    wx:key="floor_title">
    <!-- 标题 -->
    <view class="floor_title">
      <image mode="widthFix" src="{{item1.floor_title.image_src}}"></image>
    </view>
    <!-- 内容 -->
    <view class="floor_list">
      <navigator
        wx:for="{{item1.product_list}}"
        wx:for-item="item2"
        wx:for-index="index2"
        wx:key="name">
        <image src="{{item2.image_src}}" mode="{{ index2 === 0? 'widthFix' : 'scaleToFill' }}"/> 
      </navigator>
    </view>
  </view>
</view>
<!-- 楼层 结束 -->

index.wxss:

.index_floor {
  .floor_group {
    .floor_title {
      padding: 10rpx 0;
      image {
        width: 100%;
      }
    }
    .floor_list {
      // 清除浮动
      overflow: hidden;
      navigator {
        float: left;
        width: 33.33%;
        // 后四个超链接
        &:nth-last-child(-n+4) {
          // 原图的宽高 232 * 386
          // 232 / 386 = 33.33vw / height
          // 第一张图片的高度 height = 33.33vw / 386 * 232
          height: (33.33vw * 386 / 232 / 2);
          border-left: 10rpx solid #fff;
        }
        // 2 3两个超链接
        &:nth-child(2),
        &:nth-child(3) {
          border-bottom: 10rpx solid #fff;
        }
        image {
          width: 100%;
          height: 100%;
        }
      }
    }
  }
}
  • 注意:less使用出发计算的时候需要加上小括号

  • 此时,首页分类导航和楼层就搭建完成了:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ITMO8vJN-1614588797249)(/Users/mac/Desktop/前端学习笔记/小程序/首页导航栏与楼层栏/10.jpg)]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值