PhotoSwipe中文API(四)

在幻灯片自定义HTML内容

为了使PhotoSwipe显示HTML内容的幻灯片,你需要在幻灯片对象定义html属性。它应该包含HTML字符串或DOM元素对象。

 1 var items = [
 2     // slide 1 with HTML
 3     {
 4         html: '

Any HTML content

' 5 }, 6 7 // slide 2 with image 8 { 9 src: 'path/to/image.jpg', 10 w:600, 11 h:200 12 } 13 ]; 14 15 16 // initialise as usual 17 var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); 18 19 // You don't necessarily need to have "html" property in slide object initially. 20 // You may create it dynamically in gettingData event: 21 /* 22 gallery.listen('gettingData', function(index, item) { 23 if(index === 3) { 24 item.html = '
Dynamically generated HTML ' + Math.random() + '
';
25 } 26 27 }); 28 */ 29 30 // Note that init() method is called after gettingData event is bound 31 gallery.init();

其他重要事项:

为了避免与第三方模块,具有html属性幻灯片冲突,不应该有SRC(图像)属性。

PhotoSwipe是专为图像,而不是文本内容的滚轮。使用“自定义HTML”功能作为此外,例如,在相关的画廊,一个介绍的幻灯片,或图像之间的广告幻灯片。

我们强烈不建议添加视频或使用此方法的音频内容(包括YouTube,Vimeo的等内部框架)。随着HTML5视频块触摸了它的活动在很多移动浏览器(用户将无法刷卡的话)。如果你真的需要在PhotoSwipe视频,您可以将其添加为当用户点击当前的幻灯片显示模式,可以动态地在DOM创建模态和.pswp__scroll换行元素之后添加它。

如果启用了最初的放大/缩小的过渡,如果当前的幻灯片有HTML PhotoSwipe将自动禁用它,简单的淡入淡出的过渡将被用来代替。

默认情况下PhotoSwipe将使只是链接()及其子元素click事件。要改变这种行为,直视isClickable元素选项或防止拖动事件的事件。

不支持HTML滑块的放大,但。

html:

 1 <button id="btn">Open PhotoSwipebutton>
 2 
 3 
 4 <div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
 5 
 6     
 8     <div class="pswp__bg">div>
 9 
10     
11     <div class="pswp__scroll-wrap">
12 
13         
14         <div class="pswp__container">
15             
16             <div class="pswp__item">div>
17             <div class="pswp__item">div>
18             <div class="pswp__item">div>
19         div>
20 
21         
22         <div class="pswp__ui pswp__ui--hidden">
23 
24             <div class="pswp__top-bar">
25 
26                 
27 
28                 <div class="pswp__counter">div>
29 
30                 <button class="pswp__button pswp__button--close" title="Close (Esc)">button>
31 
32                 <button class="pswp__button pswp__button--share" title="Share">button>
33 
34                 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen">button>
35 
36                 <button class="pswp__button pswp__button--zoom" title="Zoom in/out">button>
37 
38                 
39                 
40                 <div class="pswp__preloader">
41                     <div class="pswp__preloader__icn">
42                       <div class="pswp__preloader__cut">
43                         <div class="pswp__preloader__donut">div>
44                       div>
45                     div>
46                 div>
47             div>
48 
49             <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
50                 <div class="pswp__share-tooltip">div> 
51             div>
52 
53             <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
54             button>
55 
56             <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
57             button>
58 
59             <div class="pswp__caption">
60                 <div class="pswp__caption__center">div>
61             div>
62 
63           div>
64 
65         div>
66 
67 div>

css :

 1 .hello-slide {
 2   width: 100%;
 3   max-width: 400px;
 4   color: #FFF;
 5   margin: 120px auto 0;
 6   text-align: center;
 7   
 8   font-family: "Helvetica Neue", Arial, sans-serif;
 9   
10 }
11 h1 {
12   font-weight: normal;
13 }
14 .hello-slide a {
15   color: #B5AEF7 !important;
16 }

js:

 1 var openPhotoSwipe = function() {
 2     var pswpElement = document.querySelectorAll('.pswp')[0];
 3 
 4     // build items array
 5     var items = [
 6         {
 7         html: ''
 8     },
 9         {
10             src: 'https://farm7.staticflickr.com/6175/6176698785_7dee72237e_b.jpg',
11             w: 1024,
12             h: 683
13         }
14     ];
15     
16     // define options (if needed)
17     var options = {
18              // history & focus options are disabled on CodePen        
19         history: false,
20         focus: false,
21 
22         showAnimationDuration: 0,
23         hideAnimationDuration: 0
24         
25     };
26     
27     var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
28     gallery.init();
29 };
30 
31 openPhotoSwipe();
32 
33 document.getElementById('btn').onclick = openPhotoSwipe;

PhotoSwipe中文API(四)_第1张图片

 

提示:您可以从CodePen下载示例在本地发挥它(编辑上CodePen - >分享 - >导出.zip文件)。

你可能感兴趣的:(PhotoSwipe中文API(四))