一:getting started
开始之前要知道:
1、 PhotoSwipe需要提前预定义图片的大小(more: http://photoswipe.com/documentation/faq.html#image-size)
2、 如果您把PhotoSwipe用在非响应式的站点上,但是这个控件也会在移动端进行缩放(因为这整个页面就是缩放的)。所以你需要实现自定义控件(例如单大关闭按钮在右上角)。
3、 文档中的所有代码都是纯JS,支持IE 8和以上。如果你的网站或应用程序使用一些JavaScript框架(如jQuery和MooTools)或你不需要支持旧的浏览器——随意简化代码。
4、 避免使用大图片(大于2000 x1500px)于移动端上,因为他们将大大减少动画表现并且可能导致事故(特别是在iOS Safari)。可能的解决方案: http://photoswipe.com/documentation/responsive-images.html,或打开图像在一个单独的页面,或使用库,支持图像镶嵌 (比如http://leafletjs.com/)(more:http://photoswipe.com/documentation/faq.html#mobile-crash)。

安装:
第一步:引入js 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> 

无论您将在哪里以及在哪里引用JS和CSS文件都无关紧要。只有当你写new PhotoSwipe()的时候代码才会执行。因此,如果你不需要在一开始就打开文件的话,就可以延迟加载文件。

第二步:向DOM添加PhotoSwipe (.pswp)元素
您可以直接在初始化之前通过JS动态地添加HTML代码,或在页面最初的时候(例如演示页面上那样)。这段代码可以在任何地方附加,但最好在</body>标签关闭之前。您可以在多个库中重用它(只要使用相同的UI类)。

<!-- Root element of PhotoSwipe. Must have class pswp. -->
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"><!-- Background of PhotoSwipe. It's a separate element as animating opacity is faster than rgba(). --><div class="pswp__bg"></div><!-- Slides wrapper with overflow:hidden. --><div class="pswp__scroll-wrap"><!-- Container that holds slides. PhotoSwipe keeps only 3 of them in the DOM to save memory.Don't modify these 3 pswp__item elements, data is added later on. --><div class="pswp__container"><div class="pswp__item"></div><div class="pswp__item"></div><div class="pswp__item"></div></div><!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --><div class="pswp__ui pswp__ui--hidden"><div class="pswp__top-bar"><!--  Controls are self-explanatory. Order can be changed. --><div class="pswp__counter"></div><button class="pswp__button pswp__button--close" title="Close (Esc)"></button><button class="pswp__button pswp__button--share" title="Share"></button><button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button><button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button><!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --><!-- element will get class pswp__preloader--active when preloader is running --><div class="pswp__preloader"><div class="pswp__preloader__icn"><div class="pswp__preloader__cut"><div class="pswp__preloader__donut"></div></div></div></div></div><div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"><div class="pswp__share-tooltip"></div> </div><button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button><button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button><div class="pswp__caption"><div class="pswp__caption__center"></div></div></div></div>
</div>

注意: pswp__bg, pswp__scroll-wrap, pswp__container 和 pswp__item elements 的顺序不能变。
你可能会问,为什么PhotoSwipe没有通过JS自动添加这段代码,原因很简单——只是为了保存文件大小,以防你需要修改布局。

第三步:初始化
执行PhotoSwipe构造函数,它包含4个参数
.pswp element from step 2 (it must be added to DOM).
PhotoSwipe UI class. If you included default photoswipe-ui-default.js, class will be PhotoSwipeUI_Default. Can be false.
Array with objects (slides).
Options.
1、.pswp -----第二步中所指的元素(它必须被添加到DOM中):
2、PhotoSwipe UI类 ------如果你引入了默认的photoswipe-ui-default.js, class会是PhotoSwipeUI_Default(这句没翻译通顺)
3、需要滑动的数组(slides)
4、配置项

var pswpElement = document.querySelectorAll('.pswp')[0];
// build items array
var items = [{src: 'https://placekitten.com/600/400',w: 600,h: 400},{src: 'https://placekitten.com/1200/900',w: 1200,h: 900}
];
// define options (if needed)
var options = {// optionName: 'option value'// for example:index: 0 // start at first slide
};
// Initializes and opens PhotoSwipe
var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
gallery.init();

写完以上这些,则可以得到以下结果

U_EN5XA3J6EI}I{CR8NXEFD.png

作者:ice小末
链接:https://www.jianshu.com/p/c7d2108cecde
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

PhotoSwipe 官方API解读(一)相关推荐

  1. 【天池基础知识】直方图,Q~Q图、KDE分布图+对应的官方API文档

    目的 直方图和Q-Q图的目的:是为了看看数据是不是符合正态分布或者是不是对角线分布,这样对数据的采取的时候会更加有效一些(比如那些不太行的数据,偏离太多的数据我们删除,那些分布太高的可以用对数进行降低 ...

  2. 【GPT4】GPT4 官方报告解读

    欢迎关注[youcans的AGI学习笔记]原创作品 [GPT4]GPT-4 官方报告解读 1. GPT-4 官方介绍 2. GPT-4 的性能 2.1 GPT-4 在各种学术和专业考试中的性能 2.2 ...

  3. ZigBee学习之10——MAC层API解读

    ZigBee学习之10--MAC层API解读 其实也算不上什么解读拉,基本上是把官方的文档翻译了一下.在Zigbee中,是分层结构 的,这样做有很多的好处,每一层只负责自己的东西,数据传输更加透明和有 ...

  4. QQ 一键加群、扫二维码加群 - 腾讯官方API文档接入

    QQ 一键加群.扫二维码加群 - 腾讯官方API文档接入 QQ一键加群功能,腾讯API生成链接和二维码等等 获取地址:腾讯官方API文档接口 使用方法:引入对应的链接即可 这里有生成图片.二维码的功效 ...

  5. 微信公众号官方API开发之配置服务器

    最近进行微信官方API开发,需要知道用户的openid,以及需要扫码传参数,需要进行服务器配置. 1.服务器配置 微信公众号要开通开发者模式,然后在最左下角 开发->基本配置->服务器配置 ...

  6. ExtJS各个版本官方API文档

    ExtJS各个版本官方API文档 官方API地址:https://docs.sencha.com/extjs/6.7.0/index.html 版本切换方式: 官方文档为纯英文文档,需要中文版的朋友可 ...

  7. 微博官方API使用方法【全流程教学】

    微博官方API使用方法[全流程教学] 微博开发者身份认证 创建自己的应用 新应用的相关配置 基本信息 高级信息 微博认证流程OAuth2.0认证(核心步骤) Access Token授权有效期 接口调 ...

  8. ZigBee学习之11——MAC层API解读2

    ZigBee学习之11--MAC层API解读2 回调函数事件 呵呵,名字很恐怖,其实就是用来应答请求函数的函数调用而已,不要想的太深奥哦! MAC_MLME_ASSOCIATE_IND 当MAC从其他 ...

  9. ChatGPT官方API可以抢先体验了

    ChatGPT官方API目前还在内测当中,OpenAI官网上也没有任何接口介绍和文档.这对于开发和调用来说不怎么方便.但是,比较好的地方在于内测过程中调用是免费的,没有次数限制.此外,API接口调用不 ...

最新文章

  1. 关注度越来越高的行人重识别,有哪些热点?
  2. c++ topk问题
  3. 【UAV】从单个螺旋桨到四旋翼无人机运动学分析
  4. 斯坦福大学深度学习与自然语言处理第四讲:词窗口分类和神经网络
  5. linux 运行多个docker,Docker 中如何连接多个 Container 协同工作
  6. 【计组实验】P3 Verilog多周期处理器开发 MIPS指令集
  7. 【CCF】201803-1 跳一跳
  8. Tensorflow相关面试题
  9. LINUX上安装openjdk
  10. 自动驾驶 5-1 比例积分微分 (PID) 控制Lesson 1: Proportional-Integral-Derivative (PID) Control
  11. 啦啦外卖商家端APP打包
  12. 通信电子线路——课程介绍
  13. 试验一:网络扫描与网络侦查
  14. 数据集 过滤时 RecordCount 属性
  15. illumina平台的测序接头
  16. Dell E7440加装硬盘
  17. 软件测试基础知识大全【乐搏TestPRO】
  18. 搞汉化以来的一件后悔的事
  19. Paper2:VGG Notes
  20. PhotoShop常用的快捷键及 瘦身

热门文章

  1. 吐槽一下Win10的输入法管理器
  2. 计算机无线传输的标准,2015计算机三级网络技术考试重点:无线网络
  3. 扩充计算机内存是扩充什么,怎么增加电脑内存 三种方法让你电脑内存扩大
  4. java 第三方接口安全性_提供接口给第三方使用,需要加上校验保证接口的安全性(rsa加密解密)...
  5. 老版三星笔记本识别不到U盘启动解决办法
  6. ReSharper配置及用法(转)
  7. Java零基础个人学习路线总结
  8. [嵌入式框架][nrf51822][SDK12.3] BLE分层设计 NUS 透传数据队列发送,提升带宽利用率
  9. CSS的px和em的区别
  10. Grapher如何显示与绘图线成角度的线图标签丨使用教程