首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将div添加到fancybox-3自定义模板?

如何将div添加到fancybox-3自定义模板?
EN

Stack Overflow用户
提问于 2017-09-21 19:33:26
回答 2查看 4.9K关注 0票数 5

我正试图取得与上述情况类似的结果:

使用fancybox-3插件,我创建了自定义模板:

代码语言:javascript
复制
$('[data-fancybox="gallery"]').fancybox({

fullScreen : false,
slideShow  : false,
autoSize : false,
loop:true,
touch : {
vertical : false,
horizontal : false
},

thumbs : {
autoStart : true
},

onThumbsShow : function(instance, current) {
instance.Thumbs.$grid.appendTo( instance.$refs.inner );
},

clickOutside : 'close',
baseTpl :
'<div class="fancybox-container qv-container" role="dialog" tabindex="-1">' +
'<div class="fancybox-bg"></div>' +
'<div class="fancybox-inner">' +
'<button data-fancybox-prev title="{{PREV}}" class="fancybox-arrow fancybox-arrow--left" />' +
'<button data-fancybox-next title="{{NEXT}}" class="fancybox-arrow fancybox-arrow--right" />' +
'<button data-fancybox-close class="qv-close"></button>' +
'<div data-fancybox-close class="qv-close"></div>' +
'<div></div>' +
'</div>' +
'</div>',
});

在一定程度上,我取得了与下图类似的结果:

毕竟,我错过了图像下面文字的div。我尝试过使用代码示例作为参考,但是没有任何好的结果:/

有人知道我在哪里漏掉了重点吗?非常感谢所有可能的帮助。

展望未来,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-26 11:11:37

似乎可以通过data-attributes向fancybox添加其他内容;

首先,在html中用data-属性包装内容:

<a href="images/img.jpg" class="gallery-img" data-content="lorem ipsum bla bla bla" data-fancybox="images" style="background-image: url('images/img.jpg')"></a>

其次,使用jQuery,使用afterLoad: function() {}查找并向fancybox选项中的变量中添加文本。变量可以用.html插入到fancybox模板中的<div>...</div>

代码语言:javascript
复制
 baseTpl :
'<div class="fancybox-container qv-container" role="dialog" tabindex="-1">' +
....
'<div class="fancybox-div"></div>'+
....
'</div>',
afterLoad: function() {
    var content = $(this.opts.$orig[0]).data('content'); 
    $(".fancybox-div").html(content);
}
票数 0
EN

Stack Overflow用户

发布于 2017-09-22 06:52:46

您可以使用CSS或多或少地存档相同的设计和布局,请参阅本演示- https://codepen.io/anon/pen/qPaNwo

代码语言:javascript
复制
.fancybox-bg {
  background: #fff;
}

.fancybox-stage {
  top: 44px;
  left: 200px;
  right: 320px;
  bottom: 100px;
}

.fancybox-inner {
  right: 0 !important;
}

.fancybox-thumbs {
  top: 44px;
  right: 200px;
  bottom: 44px;
  width: 120px;
  background: transparent;
}

.fancybox-thumbs>ul>li {
  max-width: 100%;
}

.fancybox-caption-wrap {
  padding: 0 200px;
  background: transparent;
}

.fancybox-caption {
  padding: 0;
  border: 0;
  color: #000;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46351892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档