Skip to content

Latest commit

 

History

History
289 lines (235 loc) · 6.8 KB

README.md

File metadata and controls

289 lines (235 loc) · 6.8 KB

zx-image-viewer

图片预览插件,支持图片切换、旋转、缩放、移动...

浏览器支持:IE10+, (IE9不支持旋转功能)

Downloads Version License

默认键盘操作

方向键:左leftright前后图片切换,上updown顺时针逆时针旋转

滚动鼠标:缩放

注:支持自定义按键配置,详见参数说明。

使用 use

npm

npm install zx-image-viewer --save-dev
# 或
npm i zx-image-viewer -D

ES6+

import { ZxImageViewer } from 'zx-image-viewer'

浏览器Browser

<div id="imgList">
  <img data-index="0" src="a.jpg">
  <img data-index="1" src="b.jpg">
  <img data-index="2" src="c.jpg">
  <img data-index="3" src="d.jpg">
</div>
<script src="dist/js/zx-image-viewer.min.js"></script>
<script>
  // 初始化参数
  var options = {
    // 见参数说明处
  };

  // 图片数组1
  var imgArray1 = [
    'http://xxx.com/a.jpg',
    'http://xxx.com/b.jpg',
    'http://xxx.com/c.jpg',
    'http://xxx.com/d.jpg'
  ];

  // 图片数组2
  var imgArray2 = [
    {
      url: 'http://xxx.com/a.jpg',
      // 初始化旋转角度
      angle: 90
    },
    {
      url: 'http://xxx.com/b.jpg',
      angle: 0
    },
    {
      url: 'http://xxx.com/c.jpg',
      angle: 180
    },
    {
      url: 'http://xxx.com/d.jpg'
      angle: 90
    }
  ];
</script>

使用方法 1

var ziv1 = new ZxImageViewer(options, imgArray1);

// 点击缩略图,查看大图
var $el = document.getElementById('imgList');
$el.addEventListener('click', function (e) {
  if (this.nodeName === 'IMG') {
    // 获取图片索引
    var index = this.getAttribute('data-index');
    // 查看图片
    ziv1.view(index);
  }
})

使用方法 2

var ziv2 = new ZxImageViewer(imgArray2);

使用方法 3

var ziv3 = new ZxImageViewer();
ziv3.init(imgArray2);

使用方法 4

var ziv4 = new ZxImageViewer();
// 业务场景,针对后台管理列表页,每条数据(动态)有多张图片,需独立预览,不需要多次实例化ZxImageViewer
// 查看imgArray2第3张图片
ziv4.view(2, imgArray2);

开发调试

npm run dev
# http://localhost:9000/

# 效果图 preview

zx-image-viewer

zx-image-viewer

zx-image-viewer

参数 options

参数 类型 说明
maskBackground Floor 背景遮罩颜色,默认值rgba(0, 0, 0, 0.6)
iconfont String iconfont图标字体css样式url地址(样式名见附录iconfont说明)
keyboard Object 键盘按钮(前/后一张、缩放、旋转、关闭)配置
movable Boolean 移动图片,默认值true
paginationable Boolean 分页mouseover切换图片,默认值true
rotatable Boolean 旋转图片,默认值true
scalable Boolean 缩放图片,默认值true
showClose Boolean 显示关闭预览窗口按钮,默认值true
showPagination Boolean 显示分页栏,默认值true
showSwitchArrow Boolean 显示左右切换箭头按钮,默认值true
showToolbar Boolean 显示工具栏,默认值false
toolbarButtons Array 工具栏按钮数量及顺序配置,可选值/默认值['prev', 'enlarge', 'rotate', 'reduce', 'next']

options.keyboard

参数 类型 可选键名 说明
close String 关闭图片查看器
next String 任意键 下一张
prev String 任意键或mousewheel 上一张;为mousewheel时,next无效
rotate String或Array 任意键或mousewheel 图片旋转
scale String或Array 任意键或mousewheel 图片缩放

注意:参数中只能包含有且一个mousewheel配置;任何配置均不支持组合键。

keyboard参数可选属性见页尾--附录

 // 初始化参数
let _config = {
  // 分页mouseover切换图片
  paginationable: true,
  // 显示关闭按钮
  showClose: true,
  // 显示上一张/下一张箭头
  showSwitchArrow: true,
  // 显示分页导航栏
  showPagination: true,
  // 缩放
  scalable: true,
  // 旋转
  rotatable: true,
  // 移动
  movable: true,
  // 键盘配置
  keyboard: {
    prev: 'a',
    next: 'd',
    rotate: ['up', 'down'],
    scale: 'mousewheel'
  }
}
new ZxImageViewer(_config);

方法 methods

  • destroy() 销毁当前图片查看dom对象

  • init(imageArray, index) 初始化图片数据

参数 类型 必须 说明
imageArray Array 图片url数组
index Number imageArray的索引,默认显示的第index + 1张图片;默认为0; 如果index > imageArray.length将被忽略
  • view(index, angle, imageArray) 查看第index + 1张图片
参数 类型 必须 说明
index Number imageArray的索引,显示的第index + 1张图片
angle Number 图片旋转角度,90的整数倍
imageArray Array 图片url数组,将更新初始化的图片数组

附录

  • iconfont样式名说明

字体样式.zx,图标样式如下图:

zx-image-viewer iconfont

http://www.iconfont.cn/

  • 支持自定义键盘按钮名/keyboard参数可选属性
属性 键名/说明
escape Esc键
主键盘
backquote ~
digit1 1(!)
digit2 2(@)
digit3 3(#)
digit4 4($)
digit5 5(%)
digit6 6(^)
digit7 7(&)
digit8 8(*)
digit9 9(()
digit0 0())
equal =(+)
minus -(-)
a-z AZ
bracketLeft [({)
bracketRight ](})
semicolon ;(:)
quote '(")
backslash 反斜线
period ,(>)
comma .(<)
slash /(?)
space 空格键
数字键盘
numpad0 0
numpad1 1
numpad2 2
numpad3 3
numpad4 4
numpad5 5
numpad6 6
numpad7 7
numpad8 8
numpad9 9
numpadDivide /分或除
numpadMultiply *
numpadSubtract -
numpadAdd +
numpadDecimal .小数点
编辑键区
insert Insert 键
home Home 键
end End 键
pageUp PageUp 键
pageDown PageDown
delete Delete 键
left 方向键左(ArrowLeft)
right 方向键右(ArrowRight)
up 方向键上(ArrowUp)
down 方向键下(ArrowDown)
鼠标滚动 说明
mousewheel 鼠标滚动键

Copyright and license

Code and documentation copyright 2018. capricorncd. Code released under the MIT License.