Viewer.js 实现动态预览功能
干货分享 · 2020-05-06
viewer.js是一款功能强大的照片查看器,只需引入viewer.css和viewer.js即可使用,主要参数如下
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| inline | 布尔值 | false | 启用 inline 模式 |
| button | 布尔值 | true | 显示右上角关闭按钮(jQuery 版本无效) |
| navbar | 布尔值/整型 | true | 显示缩略图导航 |
| title | 布尔值/整型 | true | 显示当前图片的标题(现实 alt 属性及图片尺寸) |
| toolbar | 布尔值/整型 | true | 显示工具栏 |
| tooltip | 布尔值 | true | 显示缩放百分比 |
| movable | 布尔值 | true | 图片是否可移动 |
| zoomable | 布尔值 | true | 图片是否可缩放 |
| rotatable | 布尔值 | true | 图片是否可旋转 |
| scalable | 布尔值 | true | 图片是否可翻转 |
| transition | 布尔值 | true | 使用 CSS3 过度 |
| fullscreen | 布尔值 | true | 播放时是否全屏 |
| keyboard | 布尔值 | true | 是否支持键盘 |
| interval | 整型 | 5000 | 播放间隔,单位为毫秒 |
| zoomRatio | 浮点型 | 0.1 | 鼠标滚动时的缩放比例 |
| minZoomRatio | 浮点型 | 0.01 | 最小缩放比例 |
| maxZoomRatio | 数字 | 100 | 最大缩放比例 |
| zIndex | 数字 | 2015 | 设置图片查看器 modal 模式时的 z-index |
| zIndexInline | 数字 | 0 | 设置图片查看器 inline 模式时的 z-index |
| url | 字符串/函数 | src | 设置大图片的 url |
| build | 函数 | null | 回调函数,具体查看演示 |
| built | 函数 | null | 回调函数,具体查看演示 |
| show | 函数 | null | 回调函数,具体查看演示 |
| shown | 函数 | null | 回调函数,具体查看演示 |
| hide | 函数 | null | 回调函数,具体查看演示 |
| hidden | 函数 | null | 回调函数,具体查看演示 |
| view | 函数 | null | 回调函数,具体查看演示 |
| viewed | 函数 | null | 回调函数,具体查看演示 |
因为要通过ajax获取图片列标,所以此处有显示和销毁处理。首先创建一个容器,如下:
<div class="test" id="test" style="display: none;"></div>接着编写ajax代码动态给容器中添加图片,如下:
//创建元素
$('body').on('click','.showHd',function(){
var id = $(this).data('id');
$.post("{:url('ajax/productImgs')}",{id:id},function(res){
var str = '';
if(res.code === 0){
$.each(res.data,function(index,item){
str += '<img data-original='+item+' src='+item+' />';
});
$('#dowebok').empty().append(str);
//图片查看器
var viewer = new Viewer(document.getElementById('dowebok'), {
url: 'data-original',
title:false,
show:function(){
viewer.update()
},
hide:function(){
viewer.destroy();
}
});
viewer.show();
}
});
});至此,已基本完成,不destroy关闭后下次再打开会报错。