文章目录

  • 一、swiper 轮播图
    • 1.1. swiper 基本使用
    • 1.2. 调整轮播图和图片的大小
  • 二、scroll-view 可滚动视图区域

一、swiper 轮播图

轮播图是项目中最常见的功能,很多项目都会在首页中使用轮播图,我们传统的 web 项目中想使用一个较完美的轮
播图,要么手写,要么引入第三方组件,而微信小程序中,默认给我们提供了一个轮播图组件,使用起来非常方便,
本节就快速回顾一下微信小程序中轮播图的使用

1.1. swiper 基本使用

微信小程序中使用轮播图,需要 <swiper><swiper-item> 两个标签搭配使用,<swiper> 为个轮播图的最外层结
构,轮播图中的每一项则需要嵌套在 <swiper-item> 标签内

可以通过属性对 <swiper> 进行控制,本文列举一些最常用的属性,想学习更多的属性,请参照 微信小程序 -
swiper 轮播图组件:

属性名 取值 描述
indicator-dots 布尔 是否显示轮播图下方的指示点
indicator-color rgba 格式字符,如 “rgba(255,0,0,0.3)” 不处于激活状态时的指示点颜色
indicator-active-color 十六进制颜色字符,如 “#ccc” 处于激活状态时的指示点颜色
autoplay 布尔 轮播图是否自动播放
interval 数值 自动播放时,切换图片的时间间隔,毫秒单位
circular 布尔 衔接滑动,在最后一张图片时仍可以继续向后滑动回到第一张图片

示例:使用 swiper 轮播图组件:

(1) 创建 /images 目录,并放入三张图片,一会用来当轮播图内容

(2) 在页面逻辑中定义数组,用来保存轮播图图片列表

Page({data: {// 轮播图图片列表swiperList: ['../../images/banner1.png','../../images/banner2.png','../../images/banner3.png']}
})

(3) 在页面布局文件中,使用轮播图组件,内容为前面定义的轮播图图片列表

<!-- 自动播放、有指示点的轮播图组件 -->
<swiper indicator-dots="true" autoplay="true"><swiper-item wx:for="{{swiperList}}" wx:for-item="banner" wx:key="*this"><image src="{{banner}}"></image></swiper-item>
</swiper>

(4) 运行效果,虽然不太美观,但是轮播图的基本功能已经实现了

1.2. 调整轮播图和图片的大小

通过上面动图我们可以看到,虽然轮播图功能正常,但是样式很丑,我们需要做一些调整

(1) 修改图片宽度

轮播图组件默认的宽度是百分之百,我们应该让图片的宽度和轮播图一样,注意,微信小程序中设置图片宽度时,
要设置 <image> 标签的 mode 属性,以免图片宽度改变后,高度不能等比例缩放,重点代码在第四行

<!-- 自动播放、有指示点的轮播图组件 -->
<swiper indicator-dots="true" autoplay="true" ><swiper-item wx:for="{{swiperList}}" wx:for-item="banner" wx:key="*this"><image style="width:100%" mode="widthFix" src="{{banner}}"></image></swiper-item>
</swiper>

修改图片宽度后的效果,看着还不错

(2) 修改轮播图高度

修改图片宽度后其实显示还是有问题的,我们以第一张图片为例,来看看原图的样子

通过与原图对比,可以发现,轮播图中的图片,高度显示的不全,这是因为轮播图组件的默认高度为 150px,而且
其不会被内容撑开,我们在上一步中,修改了图片的宽度并设置了 mode="widthFix",这会导致图片改变宽度后,
高度也会等比例变化,而变化后的高度明显是大于了轮播图组件默认的 150px,所以导致图片高度显示不全

我们例子中的图片,其原图宽度是 750px,高度是 340px,那么是不是直接将轮播图的高度设置为 340px 就可以了
呢,其实这样是不行的,修改轮播图的高度相对复杂,需要计算,我们需要有一些前置知识,看完前面的系列文章
我们至少要知道两点:

  1. 微信小程序的默认宽度是 750rpx
  2. 尺寸单位 rpxpx 间的转换

至于为什么高度要计算,是因为我们设置图片宽度 width=100% 时,其实就是 width=750rpx,所以我们设置的图片
高度也应该是 rpx 单位,这就需要计算了,不过有了前置知识,计算起来也就不算很难了,我们可以按如下步骤来
计算图片的高度:

  1. 单位转换:原图宽度是 750px,轮播图宽度是 750rpx,rpx 比例 = 轮播图的宽 ( 750rpx ) / 原图的宽( 750px )
  2. 计算原图的宽高比:原图高宽比例 = 原图高 / 原图宽 ( 340px / 750px )
  3. 轮播图的宽是已知的,再利用原图的高宽比就能计算出轮播图的高,轮播图的高 = 轮播图的宽 * 原图宽高比 * 单位转换

按照上面的步骤我们可以计算出:750 * (340 / 750) * (750 / 750) = 340rpx,重点代码在第 2 行

<!-- 自动播放、有指示点的轮播图组件 -->
<swiper style="height:340rpx;" indicator-dots="true" autoplay="true"><swiper-item wx:for="{{swiperList}}" wx:for-item="banner" wx:key="*this"><image style="width:100%" mode="widthFix" src="{{banner}}"></image></swiper-item>
</swiper>

最终运行效果

二、scroll-view 可滚动视图区域


上图效果就是典型的可滚动视图区域的使用场景,上图中一共使用两次可滚动视图区域,第一个用来滚动产品分
类,第二个用来滚动分类内容,微信小程序直接提供了可滚动视图区域的组件,很方便

可滚动视图区域组件使用非常简单,直接使用 <scroll-view> 标签即可,注意,需要给 <scroll-view> 一个固定高度,
不然效果出不来,如果想横向滚动就在标签内添加属性 scroll-x = "true",想纵向滚动添加属性 scroll-y = "true"
更多关于可滚动视图区域的用法和属性,请参照 微信小程序 - scroll-view

示例:可滚动视图区域组件

在页面布局文件中使用 <scroll-view>,并设置其宽度、允许纵向滚动

<view style="border:1px solid  black; height: 550px;"><scroll-view style="height: 100%;" scroll-y="true"><view style="height:100px; width: 100px; border:1px solid black;">1</view><view style="height:100px; width: 100px; border:1px solid black;">2</view><view style="height:100px; width: 100px; border:1px solid black;">3</view><view style="height:100px; width: 100px; border:1px solid black;">4</view><view style="height:100px; width: 100px; border:1px solid black;">5</view><view style="height:100px; width: 100px; border:1px solid black;">6</view><view style="height:100px; width: 100px; border:1px solid black;">7</view><view style="height:100px; width: 100px; border:1px solid black;">8</view></scroll-view>滚动时不会印象这部分内容
</view>

效果

七、微信小程序-快速回顾 ( swiper 轮播图、scroll-view 可滚动视图区域 )相关推荐

  1. 微信小程序最简单的轮播图

    小程序轮播图 今天给大家分享一个在微信开发者工具开发微信小程序的简单案例--轮播图(只用wxml和wxss) 话不多说,直接上代码!!! 效果图 WXML代码 基本属性介绍 <!-- indic ...

  2. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  3. 用uni-app开发的微信小程序轮播图----和用微信小程序原生开发的轮播图

    话不多说,附赠代码 以下是用uni-app开发的轮播图 <template><view class="recommend"><view class=& ...

  4. 【微信小程序】实现简单轮播图效果

    微信小程序实现轮播图效果 轮播图实现效果:(可循环播放) 代码实现:(复制可用) index.wxml: <view class="swiper"><swiper ...

  5. 微信小程序五(创建轮播图)

    应用中最常见的就是轮播图了,今儿个就讲讲微信小程序中轮播图的使用 轮播图,不外乎俩个要素,跳转链接 和 图片地址 1. 设置数据 我在 pages/test/test.js中添加如下数据 //test ...

  6. 【微信小程序】实现广告轮播图

    文章目录 一.示例代码 二.展示优化 1.衔接滑动 2.居中显示 3.图片完整 4.图片标题 三.指示点优化 1.样式优化 2.特效优化 四.所有代码 五.参考博文 六.视频图片混播 最终效果图 一. ...

  7. 微信小程序轮播中的current_微信小程序开发之自定义轮播图实例

    轮播图是大部分应用的一个常用的功能,常用于广告投放.产品展示.活动展示等等. 漂亮的轮播图效果可以吸引用户的点击,达到推广产品的作用. 废话少说,下面开始动手. 业务需求: 5个图片轮番播放,可以左右 ...

  8. 【微信小程序】好看的轮播图组件

    微信小程序好看的轮播图组件效果示例 使用步骤 第一步: 新建components文件夹 第二步: 按照以下目录创建文件:(文件名可以自定义,但后面引入组件时应保持前后一致) 第三步: 各个文件的代码: ...

  9. 微信小程序之实现层叠轮播图的效果案例(前端学习收藏夹必备)

    效果展示 代码展示: WXML代码 <view class="selection_cards" bindtouchstart="touchstart" b ...

最新文章

  1. (转)面向对象的 JavaScript 编程:dojo.declare 详解
  2. 【Redis】Redis分布式集群几点说道
  3. 数字图像处理实验(12):PROJECT 05-03,Periodic Noise Reduction Using a Notch Filter
  4. boost::ratio_multiply相关的测试程序
  5. 07- app的弱网测试
  6. Learning Less is More – 6D Camera Localization via 3D Surface Regression
  7. 防火防盗竟防不了网络攻击智能摄像机的网络安全怎么办?
  8. jquery监听向上向下滑动,滑动执行操作
  9. 【Kafka】Kafka认证与授权
  10. 说说博客园的“关注”与“网摘”
  11. ORA-01092解决一例
  12. Java Web应用开发实用教程,Java Web应用开发技术实用教程
  13. 水位传感器的python代码_关于水的作文
  14. 解决word或wps删除空白页后页面布局变乱
  15. 使用smartping监控服务器的网络可用性
  16. 人民币转换美金的c语言代码大全,JS实现将人民币金额转换为大写的示例代码
  17. 酷狗音乐QQ显示(VC源码)
  18. 莫古力最新服务器,《最终幻想14》将调整现有人口平均化策略
  19. 腾讯位置服务---->(小程序简单使用+显示附近WC步行路线)
  20. [MySQL] 运算符

热门文章

  1. delphi 类的写法 和 控制台程序的制作---深入Delphi编程
  2. 基于TensorFlow的手写体数字识别
  3. 精品丨CALCULATE函数进阶版知识
  4. 9、STM32的PWM的原理与使用(内附代码)
  5. XP系统中转移“我的文档”文件夹到其它分区
  6. 嵌入式系统的启动过程
  7. 计算机科学与技术在军中的应用,计算机科学技术在计算机教育的作用
  8. 明确无非升即走!博士50-80万房补!特聘副研年薪20万+, 这所高校2023年招聘
  9. ESP8266开发之旅 阿里云物联网平台篇① 了解阿里云物联网平台(纯理论,了解概念即可)
  10. 【转】几种作图软件使用感言