收藏
回答

wx.previewImage缩略图和原图链接不同时,点击任意缩略图都从第一张原图打开?

在微信网页开发时,使用wx.previewImage接口进行图片的查看,因为考虑到服务器流量负载,因此页面先加载缩略图,用户点击缩略图之后再加载大图查看,代码如下

$('.info-album').on('click','img',function(){
            var src = 'https://xxx.com' + $(this).attr('src');
            var imgs = $(this).closest('.info-album').find('img');
            var list = new Array();
            for (var i = 0; i < imgs.length; i++) {
                list.push('https://xxx.com' + $(imgs[i]).attr('src').replace('_thumb', ''));
            }
            wx.previewImage({
                current: src, // 当前显示图片的http链接
                urls: list // 需要预览的图片http链接列表
            });
        });

缩略图是带有_thumb的jpg文件,原图是去掉_thumb的jpg文件

当不使用缩略图,将current和urls的图片地址相同时,可以做到点击任意图片,都能打开原图

但是当使用缩略图时,点击任何图片,都会从第一张原图开始进行加载,实在是很烦。


请问这是个bug么?还是我没有正确调用?有人知道怎么解决么?谢啦!

最后一次编辑于  11-17
回答关注问题邀请回答
收藏

1 个回答

  • 金煜峰
    金煜峰
    11-17

    current的图片链接是带_thumb的,urls里的都是不带的,那current在urls里都找不到,当然预览第一张了,应该要把current的_thumb也替换掉

    11-17
    赞同
    回复 5
    • 辰月
      辰月
      11-17
      那这样加载的都是原图了  图片多的话几十M  前端加载体验会很差  就没有解决方案么?
      11-17
      回复
    • 金煜峰
      金煜峰
      11-17回复辰月
      current是传给wx.previewImage的参数,和显示的图有什么关系
      11-17
      回复
    • 辰月
      辰月
      11-18回复金煜峰
      关系就是连接url不同,点开缩略图他就从第一张图开始显示,没法对应点哪张显示哪张啊。。。
      11-18
      回复
    • 金煜峰
      金煜峰
      11-18回复辰月
      我是说传给wx.previewImage的参数current设置成没有_thumb的链接,又不会导致你的img的src被改掉,img还是显示的缩略图啊。。。这个api就是通过current在urls中的位置确定预览的是哪一张,current在urls里找不到自然只能预览第一张了
      11-18
      回复
    • 辰月
      辰月
      11-19回复金煜峰
      感谢大神 我之前想歪了。。显示图片和js获取链接并不冲突哈~各给各对应的链接就行了,哈哈~
      11-19
      回复
问题标签