Trust
Trust
  • 发布:2017-12-08 19:24
  • 更新:2019-03-13 13:47
  • 阅读:18756

【示例】原生版本图片预览使用教程

分类:HTML5+

mui内置有H5版本的图片预览插件,教程参考mui文档
原生图片预览,可以解决当前窗口中使用了原生标题栏等原生组件时,H5版图片预览无法全屏的情况。
相比MUI提供的H5模式,具有更优的体验和性能。先看最终效果:

简单实现

使用5+runtime提供的原生图片预览,详细参考plus.nativeUI.previewImage相关文档。

HTML部分

<div class="mui-content-padded">  
  <img src="../images/yuantiao.jpg" />  
  <img src="../images/muwu.jpg" />  
  <img src="../images/shuijiao.jpg" />  
</div>

JavaScript部分

具体实现中,图片地址列表可以在图片信息渲染结束后,就立刻读取;点击某个图片时,只需要查找当前图片在列表中的位置即可。

mui.plusReady(function() {  
  // 获取图片地址列表  
  var images = document.querySelectorAll('.mui-content-padded img');  
  var urls = [];  
  for(var i = 0; i < images.length; i++) {  
    urls.push(images[i].src);  
  }  
  // 监听图片的点击  
  mui('body').on('tap', 'img', function() {  
    // 查询图片在列表中的位置  
    // 由于dom节点列表是伪数组,需要处理一下  
    var index = [].slice.call(images).indexOf(this);  
    plus.nativeUI.previewImage(urls, {  
      current: index,  
      loop: true,  
      indicator: 'number'  
    });  
  });  
});

注意:实际开发中,如果列表信息会动态加载,则每次加载完成后需要更新图片地址列表。

Hello mui中体验

最新版的Hello mui已集成了原生图片预览的示例,在即将发版的HBuilder 8.9 版本中即可体验,体验路径:
访问 http://www.dcloud.io/ 下载最新版HBuilder,新建Hello mui项目,Hello mui首页--> image viewer(图片预览) --> 图片预览(native模式)

6 关注 分享
Neil_HL lhyh 五叶神 2***@qq.com 首席劝退师 w***@163.com

要回复文章请先登录注册

Trust

Trust (作者)

回复 1***@qq.com :
不支持,H5的可以自己审查元素查找下相关节点,自定义内容。
2017-12-12 17:15
1***@qq.com

1***@qq.com

如果我要在原生图片预览界面上加按钮有方法吗?因为很多时候在图片预览的时候会加上 “保存到本地”或“收藏”或“分享”按钮
2017-12-12 16:44
Trust

Trust (作者)

回复 首席劝退师 :
dom节点列表是伪数组,没有这个方法,需要处理一下。示例已更新
2017-12-12 14:05
露珠

露珠

希望将mui APP也同步更新
2017-12-12 14:00
首席劝退师

首席劝退师

不行啊,使用5+runtime提供的原生图片预览报错, images.indexOf is not a function
2017-12-12 13:31
2***@qq.com

2***@qq.com

预览里支持保存图片吗?这个很需要
2017-12-12 12:43
redzippo

redzippo

回复 Trust :
太好拉!!!这两天正好做chat模块,需要图片preview,感谢感谢!
2017-12-12 10:21
mackes

mackes

期待越来越好
2017-12-12 09:59
Trust

Trust (作者)

回复 redzippo :
1。近两天就会更新
2。SDK的更新是单独的,关注5+sdk更新日志的那篇文章
2017-12-11 19:06
redzippo

redzippo

请问:
1 8.9什么时候可以上线呢?
2 升级MUI的同时,是否也需要升级5+SDK(离线打包)?
2017-12-11 18:29