微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 PhotoSwipe 显示视频?

如何解决如何使用 PhotoSwipe 显示视频?

尝试在 photowipe 中弹出视频和图像。我有图像工作,但不知道如何让视频工作。 我猜我需要检查数据类型,如果它等于视频,它存储数据视频内容,然后将其输出到滑块中? 但我无法让它工作。

感谢任何帮助

<div class="grid popup-gallery">
    <div class="grid-sizer"></div>  
        <?PHP if($content_type == 'image') :  ?>
            <div class="grid-item <?PHP echo $content_size; ?> <?PHP echo $filter; ?>" data-category="transition" data-index="<?PHP echo $i; ?>">
                <img data-size="<?PHP echo $image['width']; ?>x<?PHP echo $image['height']; ?>"  class="full-width" src="<?PHP echo $image['url']; ?>" alt="<?PHP echo $image['alt']; ?>">
                <div class="hover-text">
                    <span>VIEW FULL SCREEN</span>
                </div>
            </div>
        <?PHP else : ?>
            <div class="grid-item <?PHP echo $content_size; ?> <?PHP echo $filter; ?>" data-category="transition" data-index="<?PHP echo $i; ?>">
                <a href="#" data-type="video" class="video-link" data-video='<div class="wrapper"><div class="video-wrapper video-position"><iframe class="pswp__video" width="960" height="640" src="https://player.vimeo.com/video/<?PHP echo $video_link; ?>" frameborder="0" allowfullscreen></iframe></div></div>'>
                    <video class="d-block full-width" muted autoplay loop playsinline src="<?PHP echo $video_thumbnail; ?>"></video>
                    <img class="full-width d-none" src="https://placehold.it/960x500?text=Vimeo">
                </a>
            </div>
        <?PHP endif; ?>
    </div>
</div>
  var items = [];

  function updateItems() {
    items = [];
    $(".popup-gallery").each(function () {
      var $pic = $(this),getItems = function () {
          $pic
            .find(".grid-item:not([style*='display: none'])")
            .each(function () {
              if ($(this).data("type") == "video") {
                item = {
                  html: $(this).data("video"),};
              } else {
                var $href = $(this).find("img").attr("src"),$size = $(this).find("img").data("size").split("x"),$width = $size[0],$height = $size[1];
                var item = {
                  src: $href,w: $width,h: $height,};
              }

              items.push(item);
            });
          return items;
        };

      items = getItems();
    });
  }

  updateItems();

  function opengallery(items,options) {
    var markup = $(".pswp").get(0);
    var gallery = new photoswipe(markup,photoswipeUI_Default,items,options);
    gallery.init();
  }

  var $index = 0;
  var options = {};
  $(document).on(
    "click",".grid-item:not([style*='display: none'])",function (event) {
      event.preventDefault();

      $index = parseInt($(this).data("index"));
      options = {
        index: $index,bgOpacity: 0.7,showHideOpacity: true,modal: false,cloSEOnScroll: false,cloSEOnVerticalDrag: false,};

      options.index = parseInt($(this).data("index"));
      opengallery(items,options);
    }
  );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。