评论

微信小程序图片放大预览效果的实现

微信小程序图片点击放大

近期很多刚学习小程序的同学,想做哪种图片点击放大,然后可以左右滑动预览的效果。我也特意去研究下,发现直接用微信程序自己的api就可以很方便的实现。今天就来教大家如何实现小程序图片点击放大的效果。

老规矩,先看效果图


效果图有点快,但是可以大致看出来效果了。我再给大家描述下吧
一个页面有3张图片,点击其中任意一张都可以放大预览。然后在预览的时候,左右滑动,还可以看另外两张图片。

话不多说,直接上代码

1,首先定义一个页面image.wxml

<!--pages/image/image.wxml-->
<image src="{{imgList[0]}}" bindtap="preview" data-src="{{imgList[0]}}"></image>
<image src="{{imgList[1]}}" bindtap="preview" data-src="{{imgList[1]}}"></image>
<image src="{{imgList[2]}}" bindtap="preview" data-src="{{imgList[2]}}"></image>

这个页面很简单,就是放三个image用来显示imgList数组里的三张图片。

2,实现图片放大效果的核心方法如下。


上图是官方的示例。我们来看下实际中是如何使用的。

3,把image.js的完整代码贴出来。

Page({
  data: {
    imgList: [
      "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=508387608,2848974022&fm=26&gp=0.jpg",
      "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3139953554,3011511497&fm=26&gp=0.jpg",
      "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1022109268,3759531978&fm=26&gp=0.jpg"
    ]
  },

  //预览图片,放大预览
  preview(event) {
    console.log(event.currentTarget.dataset.src)
    let currentUrl = event.currentTarget.dataset.src
    wx.previewImage({
      current: currentUrl, // 当前显示图片的http链接
      urls: this.data.imgList // 需要预览的图片http链接列表
    })
  }
})

这里也很简单,就是定义一个imgList图片数组。然后定义一个方法,在点击图片时实现图片放大预览的效果。
其实代码就这么多,我们就可以轻松的实现小程序图片的点击放大效果了。
是不是很简单。
我也有录制视频讲解:https://edu.csdn.net/course/detail/25749

点赞 12
收藏
评论

7 个评论

  • waterfall
    waterfall
    2019-08-30

    受教了

    2019-08-30
    赞同 4
    回复
  • ʱªʱªʱª
    ʱªʱªʱª
    2021-04-14

    这个不是官方的API吗?难用得一批。18年提的一个需求支持横屏,2021年还没动,。。。。。

    2021-04-14
    赞同 1
    回复 2
  • 少年啦
    少年啦
    2019-08-30

    我以为是什么高级操作,这不是api吗

    2019-08-30
    赞同 1
    回复 1
    • 编程小石头
      编程小石头
      2019-08-31
      哈哈,这个是写给零基础的同学的。高手请绕道了。
      2019-08-31
      2
      回复
  • .
    .
    2024-08-18

    data-src 官方文档提都没提,搞的根本抓不到src。

    2024-08-18
    赞同
    回复
  • 杀手小熊🐻
    杀手小熊🐻
    2021-11-18

    希望官方能够出来一个可以在预览上增加内容的功能,那样就更好了,主要是上滑背景渐变透明实在是让安卓有些卡顿(自己写的预览图片)

    2021-11-18
    赞同
    回复
  • 科科
    科科
    2021-10-27

    预览界面好单调。。就这样趴

    2021-10-27
    赞同
    回复
  • 顺其自然
    顺其自然
    2021-02-21

    你好,做毕设遇到问题了。如果是朋友圈那种有许多条动态,每条动态都有一组图片地址数组,怎么获取我想要预览图片的那一组图片的urls

    2021-02-21
    赞同
    回复 2
    • Dnils
      Dnils
      2021-05-29
      自己在上面用获取到的图片url造假一个数组就行
      2021-05-29
      回复
    • 帅不过彭于晏
      帅不过彭于晏
      2022-01-04
      data-index=   应该可以吧
      2022-01-04
      回复
登录 后发表内容