该对插件photoswipe做了封装,创建并打开画廊,退出画廊时自动销毁,支持了旋转、不设置data-size
View on GitHub$('.photo-gallery').on('click','.photo-gallery__figure',function (e) { e.preventDefault(); createPhotoSwipe(e.currentTarget); });
一、大图设置的2种方式:(1)item的data-href。(2)item的href
二、大图url来源优先级:( a[data-href] 大于 a[href]
一、缩略图设置的2种方式:(1)background-image设置(cover布局)。(2)img显示
二、缩略图url来源优先级:( [data-thumb] 大于 img[src] )
二、图片标题设置的2种方式:(1)设置item的title。 (2)设置item的data-title)
一、图片标题来源优先级:([data-title] 大于 figcaption.caption 大于 [title] )
纯js调用
createPhotoSwipe([ { src: "images/demo1.jpg",//大图地址 msrc: "images/demo1-thumb.jpg",//缩略图地址 title:"图片一" }, { src: "images/demo2.jpg",//大图地址 msrc: "images/demo2-thumb.jpg",//缩略图地址 title:"图片二" } ]);
参数名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
indexEl | {object} | - | 可选(indexEl和items中至少要有一个),当前图片的figure容器对象或选择器,方法内部会解析dom获取画廊所有图片数据和当前index值 |
items | {array} | - | 可选(indexEl和items中至少要有一个),图廊图片的json数据。如果indexEl也存在时,这些数据会添加到解析出来的数据后面 |
items[].src | {string} | - | 图片地址 |
items[].msrc | {string} | - | 缩略图地址 |
items[].title | {string} | - | 图片标题 |
items[].size | {string} | - | 图片大小,格式如2100x1240 |
option | {object} | 选填,支持所有PhotoSwipe的配置参数,另外新增几个参数如下 | |
option.index | {number} | - | 可选,可以设置从第几张图片开始预览 |
option.rotatable | {boolean} | true | 是否开启旋转 |
option.rotateAnim | {boolean} | true | 是否开启旋转动画 |
option.pswp | {string|object} | 要自定义的pswp容器,默认使用插件内部定制好的画廊 | |
option.containerEl | {string} | .photo-gallery,[data-pswp-uid] | 画集容器,用来定位当前所在画集 |
option.figureEl | {string} | .photo-gallery__figure | item外层容器 |
option.itemEl | {string} | .photo-gallery__item | item容器 |