首页 > 技术文章 > photoswipe图片滑动插件使用

miaosha5s 2017-09-04 17:17 原文

第一步:  引入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="width:100%;"><img src="https://farm2.staticflickr.com/1043/5186867718_06b2e9e551_b.jpg" style="width:50%;height:200px;" /><img src="https://farm2.staticflickr.com/1043/5186867718_06b2e9e551_b.jpg" style="width: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.");
    });
}
View Code

UI的默认显示效果在photoswipe-ui-default.js文件中进行了配置,可通过options参数修改UI的显示效果.

 

 

官方文档地址: http://photoswipe.com/documentation/getting-started.html


推荐阅读