第一步: 引入jss和css文件
<!-- Core CSS file --> <link rel="stylesheet" href="path/to/photoswipe.css"> <!-- Skin CSS file (styling of UI - buttons, caption, etc.) In the folder of skin CSS file there are also: - .png and .svg icons sprite, - preloader.gif (for browsers that do not support CSS animations) --> <link rel="stylesheet" href="path/to/default-skin/default-skin.css"> <!-- Core JS file --> <script src="path/to/photoswipe.min.js"></script> <!-- UI JS file --> <script src="path/to/photoswipe-ui-default.min.js"></script>
第二步: 添加PhotoSwipe元素到DOM
1 <!-- Root element of PhotoSwipe. Must have class pswp. --> 2 <div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 3 4 <!-- Background of PhotoSwipe. 5 It's a separate element as animating opacity is faster than rgba(). --> 6 <div class="pswp__bg"></div> 7 8 <!-- Slides wrapper with overflow:hidden. --> 9 <div class="pswp__scroll-wrap"> 10 11 <!-- Container that holds slides. 12 PhotoSwipe keeps only 3 of them in the DOM to save memory. 13 Don't modify these 3 pswp__item elements, data is added later on. --> 14 <div class="pswp__container"> 15 <div class="pswp__item"></div> 16 <div class="pswp__item"></div> 17 <div class="pswp__item"></div> 18 </div> 19 20 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> 21 <div class="pswp__ui pswp__ui--hidden"> 22 23 <div class="pswp__top-bar"> 24 25 <!-- Controls are self-explanatory. Order can be changed. --> 26 <div class="pswp__counter"></div> 27
<!-- 图片控制按钮(包括退出,分享,全屏,放大/缩小) --> 28 <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> 29 <button class="pswp__button pswp__button--share" title="Share"></button> 30 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 31 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>32 33 <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --> 34 <!-- element will get class pswp__preloader--active when preloader is running --> 35 <div class="pswp__preloader"> 36 <div class="pswp__preloader__icn"> 37 <div class="pswp__preloader__cut"> 38 <div class="pswp__preloader__donut"></div> 39 </div> 40 </div> 41 </div> 42 </div> 43 44 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 45 <div class="pswp__share-tooltip"></div> 46 </div> 47 48 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button> 49 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button> 50
<!--标题--> 51 <div class="pswp__caption" style="display:block;"> 52 <div class="pswp__caption__center"></div> 53 </div> 54 55 </div> 56 57 </div> 58 59 </div>
第三步: 初始化元素
function ShowImage() { var pswpElement = document.querySelectorAll('.pswp')[0]; // build items array var items = [ { src: 'https://farm2.staticflickr.com/1043/5186867718_06b2e9e551_b.jpg', w: 964, h: 1024, title: '图片标题1' }, { src: 'https://farm2.staticflickr.com/1043/5186867718_06b2e9e551_b.jpg', w: 964, h: 1024, title: '图片标题2' }, { html: '<div style="100%;"><img src="https://farm2.staticflickr.com/1043/5186867718_06b2e9e551_b.jpg" style="50%;height:200px;" /><img src="https://farm2.staticflickr.com/1043/5186867718_06b2e9e551_b.jpg" style="50%;height:200px;" /></div>', title: '图片标题4' }, ]; // define options (if needed) var options = { captionEl: true, loop: false, index: 0 // start at first slide }; // Initializes and opens PhotoSwipe var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options); gallery.init(); //监听事件 gallery.listen('beforeChange', function () { console.log("before change."); }); gallery.listen('afterChange', function () { console.log("after change."); }); }
UI的默认显示效果在photoswipe-ui-default.js文件中进行了配置
,可通过options参数修改UI的显示效果.
官方文档地址: http://photoswipe.com/documentation/getting-started.html