在幻灯片自定义HTML内容
为了使PhotoSwipe显示HTML内容的幻灯片,你需要在幻灯片对象定义html属性。它应该包含HTML字符串或DOM元素对象。
1 var items = [ 2 // slide 1 with HTML 3 { 4 html: '' 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 = 'Any HTML content
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;
提示:您可以从CodePen下载示例在本地发挥它(编辑上CodePen - >分享 - >导出.zip文件)。