小程序view设置背景图片_07. 小程序项目实战:设置首页轮播图(2)

上一章我们实现了第一步—— 获取轮播图的接口数据,这一章我们将上一章未完的轮播图进行动态渲染,彻底搞定!

我们要做的是将轮播图的数据变成页面标签,并渲染出来。

步骤如下:

(一)

打开index.wxml文件,加入如下代码:

<view class="pyg_index">
  <!-- 搜索框 开始 -->
  <SearchInput></SearchInput>
</view>
  <!-- 搜索框 结束 -->
 <!-- 轮播图 开始 -->
  <view class="index_swiper">
      <swiper> 
      <swiper-item
      wx:for="{{swiperList}}"
      wx:key="goods_id"
      >
        <navigator url="{{item.navigator_url}}">
          <image src="{{item.image_src}}"></image>
        </navigator>
      </swiper-item>
    </swiper>
  </view>
  <!-- 轮播图 结束 -->

保存,页面显示如下:

0883be639e2f647e421c7a89c4df2527.png

可以看到图片是正常显示的,但是外观很不美观,因为存在众多默认样式,比如:

swiper标签的默认宽高为:100%*150px
image标签存在默认宽高:320px*240px

这两个标签结合起来,就可以看到上图所示的情况。

(二)设置轮播图的宽高

1、查看原图的宽高。打开调试器-点击“wxml”-复制src 路径:

eb276f62e26ef3349885205699ced9a7.png

粘贴至浏览器中 - 右键“检查”- 可以看到原图的宽高为:750*340

9bddd2e6caf251c34c1686c8933fb03a.png

2、使图片的高度自适应,宽度设置为100%。

我们可使用image标签中的mode属性进行渲染,同时使用“widthFix”有效值,使图片的宽高与image标签的内容的宽高成比例变化。

代码如下:

ec73fc323f145abefdf7baded957de09.png

即在第一步中的代码中,image标签中补充 mode="widthFix" 这行代码。

保存,小程序页面如下:

dc9cb84dc687749f75e3dc1aefc6ae4c.png

接下来,将index.wxss修改为index.less文件,加入如下代码。让图片的高度自适应(省略不用写),宽度为100%:

.index_swiper{
image{
 width: 100%;
 }
}

并且在index.wxss文件中写入如下代码:

.index_swiper swiper {
  width: 750rpx;
  height: 340rpx;
}

保存,观察轮播图页面的比例已经正常了。

b4bee81f234b22b17773eb5cda0e5c39.png

图片的宽度我们设置了,但是高度未设置。

我们点击小程序左上角的“机型”,改变页面比例,比如改为window100%

28e09ed1dfe9dd617cf5e1105cbf7832.png

改变页面比例后,图片只显示了一部分,如下图。

这是因为虽然图片的宽度已设置成功,但图片的高度还是默认的150px。

所以,我们要改变swiper标签的高度,使其与图片的高度一致。

45e98fa7d6290527187f56cc6628ff0e.png

3、让swiper标签的高度(150px)变成和图片的高度(340px)一致

打开index.less文件,加入swiper标签,设置宽高。

.index_swiper{
  swiper{
 width: 750rpx;
 height: 340rpx;
 image{
 width: 100%;
 }
 }
}

并且,打开index.wxss文件,写入如下代码:

.index_swiper swiper image {
  width: 100%;
}

保存,可以看到轮播图的比例已恢复正常。

3c090637a4e4f3d57b2b36729c75bc22.png

上述步骤中,看起来过于繁琐,但却是不可缺少的,因为swiperimage标签中都有默认样式,我们必须要进行处理。再总结一下步骤:

1、查看原图的宽高;
2、使图片的高度自适应,宽度为100%
3、改变swiper标签的高度,使其等于图片的高度。

(三)设置轮播图的自动轮播

图片比例设置成功后,我们需在swiper标签中加入一些属性,来实现轮播图的自动轮播

使用如下三个属性:

0320a07f36857fdde422b53be735b2fb.png

打开index.wxml文件,将autoplay 、indicator-dots、 circular这三个属性中加入swiper标签中,代码如下:

b50ce721ae183daf0486e0b031e2644a.png

index.wxml文件,轮播图设置的完整代码如下:

 <!-- 轮播图 开始 -->
  <view class="index_swiper">
    <!-- 
      1 swiper标签存在默认的宽度和高度
        100% * 150px 
      2 image标签也存在默认的宽度和高度
        320px * 240px 
      3 设计图片和轮播图
        1 先看一下原图的宽高  750 * 340 
        2 让图片的高度自适应 宽度 等于100%
        3 让swiper标签的高度 变成和图片的高一样即可 
      4 图片标签
        mode属性 渲染模式
          widthFix  让图片的标签宽高 和 图片标签的内容的宽高都等比例的发生变化 
     -->
    <swiper autoplay indicator-dots circular>
      <swiper-item
      wx:for="{{swiperList}}"
      wx:key="goods_id"
      >
        <navigator url="{{item.navigator_url}}">
          <image mode="widthFix" src="{{item.image_src}}"></image>
        </navigator>
      </swiper-item>
    </swiper>
  </view>
  <!-- 轮播图 结束 -->

保存,可看到轮播图已成功实现了自动轮播,下方的指示点以及循环轮播。

a01af70cad6f9499b41fb6488c870103.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值