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

效果预览

在这里插入图片描述
效果图有点快,但是可以大致看出来效果了。我再给大家描述下吧
一个页面有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图片数组。然后定义一个方法,在点击图片时实现图片放大预览的效果。
其实代码就这么多,我们就可以轻松的实现小程序图片的点击放大效果了。
是不是很简单。

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app中,要实现微信小程序图片放大预览并带有图片描述并可左右切换,可以使用uni-app提供的组件和方法来实现。 首先,我们可以使用uni-app的image组件来展示图片,并通过设置mode属性为aspectFit,使图片按照原图的长宽比等比缩放并保持完整显示。 然后,为了实现图片放大预览并可左右切换,在点击图片时,我们可以使用uni-app的previewImage方法来打开一个全屏的图片预览,并传入一个包含图片链接数组的current参数,以及一个包含图片描述的urls参数。这样就可以在预览界面中显示图片描述,并且可通过左右滑动切换图片。 具体实现步骤如下: 1.在模板中,使用image组件展示图片,设置mode为aspectFit,并绑定点击事件。 2.在点击事件处理函数中,调用uni-app的previewImage方法,传入图片链接数组和图片描述数组。 3.在预览界面中,通过swiper组件实现图片的左右滑动切换,并显示图片描述。 示例代码如下: ``` <template> <view> <image mode="aspectFit" :src="imageUrl" @click="previewImage"></image> </view> </template> <script> export default { data() { return { imageUrl: '图片链接', imageDesc: '图片描述' } }, methods: { previewImage() { uni.previewImage({ current: this.imageUrl, urls: [this.imageUrl], longPressActions: { itemList: ['保存图片'], success: function(data) { if (data.tapIndex === 0) { uni.saveImageToPhotosAlbum({ filePath: this.imageUrl, success: function() { uni.showToast({ title: '保存图片成功' }) }, fail: function() { uni.showToast({ title: '保存图片失败', icon: 'none' }) } }) } } } }) } } } </script> ``` 使用以上方法,我们可以在uni-app微信小程序实现图片放大预览并带有图片描述可左右切换的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值