我正在使用poptrox,并希望在弹出时添加一个按钮或链接iframe。我需要能够选择具有额外按钮的弹出窗口。我想按钮喜欢iframe显示的内容。我不知道是否更好的添加按钮或将iframe转换为大按钮。
https://github.com/ajlkn/jquery.poptrox
我的代码 ----- HTML
<section class="thumbnails">
<div>
<a href="http://youtu.be/loGm3vT8EAQ" title="Test Text">
<img src="images/thumbs/01.jpg" alt="" class="image"/>
<h3>Lorem ipsum dolor sit amet</h3>
</a>
<a href="iframe.html" data-poptrox="iframe,600x400">
<img src="images/thumbs/03.jpg" alt="" title="thing"/>
<h3>Lorem ipsum dolor sit amet</h3>
</a>
</div>
Javastipt -
$(function() {
// Vars.
var $window = $(window),
$body = $('body'),
$wrapper = $('#wrapper');
// Breakpoints.
skel.breakpoints({
xlarge: '(max-width: 1680px)',
large: '(max-width: 1280px)',
medium: '(max-width: 980px)',
small: '(max-width: 736px)',
xsmall: '(max-width: 480px)'
});
// Disable animations/transitions until everything's loaded.
$body.addClass('is-loading');
$window.on('load', function() {
$body.removeClass('is-loading');
});
// Poptrox.
$window.on('load', function() {
$('.thumbnails').poptrox({
onPopupClose: function() { $body.removeClass('is-covered'); },
onPopupOpen: function() { $body.addClass('is-covered'); },
baseZIndex: 10001,
useBodyOverflow: false,
usePopupEasyClose: true,
overlayColor: '#000000',
overlayOpacity: 0.75,
popupLoaderText: '',
fadeSpeed: 500,
usePopupDefaultStyling: false,
usePopupCaption: true,
windowMargin: (skel.breakpoint('small').active ? 5 : 50)
});
});
});
答案 0 :(得分:1)
您能否添加一些您的方案代码,然后我们可以了解一点呢?
我不准你想要使用Poptrox建立一个画廊,但我不知道你真正想念的是什么。
现在也许这个片段会帮助你。再给我一些信息,我们可以对其进行编辑,看看我们是否可以提供解决方案。
$(function() {
$('#gallery').poptrox({
usePopupCaption: true,
usePopupNav: true,
popupPadding: 0
});
});
html, body {
background: #333;
color: #fff;
margin: 0;
padding: 0;
text-align: center;
font-family: Open Sans;
}
h1, h2 {
font-weight: 200;
padding: 0;
color: #fff;
}
h1 {
font-size: 40px;
margin: 10px;
}
h2 {
font-size: 18px;
text-align: center;
margin: 10px 0;
}
a {
color: #ccc;
font-size: 11px;
display: inline-block;
margin: 5px;
vertical-align: middle;
text-decoration: none;
-webkit-transition: opacity .1s;
transition: opacity .1s;
}
a:hover {
opacity: .7;
}
section:first-child {
margin-top: 15px;
}
.devmount {
position: fixed;
bottom: 0;
right: 0;
height: 20px;
line-height: 20px;
text-decoration: none;
font: 17px Arial;
color: #fff;
padding: 10px 40px 10px 0;
margin-right: 10px;
background: url(http://media.devmount.de/devmount_small_light.png) right center no-repeat;
-webkit-transition: background-position .3s, color .3s;
transition: background-position .3s, color .3s;
}
.devmount span {
position: absolute;
right: 3px;
color: transparent;
-webkit-transition: inherit;
transition: inherit;
}
.devmount:hover {
opacity: 1;
background-position: left center;
color: transparent;
}
.devmount:hover span {
color: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/n33/jquery.poptrox/master/jquery.poptrox.js"></script>
<div id="gallery">
<!-- Regular images -->
<section>
<!-- image 1--><a href="http://placehold.it/500/09f/fff.png"><img src="http://placehold.it/100/09f/fff.png&text=image1" alt="" title="Just an image (#1)"/></a>
<!-- image 2--><a href="http://placehold.it/500/0bf/fff.png"><img src="http://placehold.it/100/0bf/fff.png&text=image2" alt="" title="Just an image (#2)"/></a>
<!-- image 3--><a href="http://placehold.it/500/0df/fff.png"><img src="http://placehold.it/100/0df/fff.png&text=image3" alt="" title="Just an image (#3)"/></a>
</section>
<section>
<!-- YouTube: Must be in share format (http://youtu.be/xxxxxxxxxxx) --><a href="http://youtu.be/loGm3vT8EAQ" data-poptrox="youtube,800x480"><img src="http://placehold.it/100/CC181E/fff.png&text=youtube" alt="" title="A YouTube Video"/></a>
<!-- Vimeo: Must be in share format (http://vimeo.com/xxxxxxxx) --><a href="http://vimeo.com/22439234" data-poptrox="vimeo,800x480"><img src="http://placehold.it/100/69C8CE/fff.png&text=vimeo" alt="" title="A Vimeo Video"/></a>
<!-- Soundcloud: Must be in share format (https://api.soundcloud.com/tracks/xxxxxxxx) --><a href="http://api.soundcloud.com/tracks/93549370" data-poptrox="soundcloud"><img src="http://placehold.it/100/FF5500/fff.png&text=soundcloud" alt="" title="A Soundcloud Track"/></a>
</section>
<section>
<!-- IFRAME: Link straight to whatever page you want to open --><a href="#" data-poptrox="iframe,600x400"><img src="http://placehold.it/100/07f/fff.png&text=iframe" alt="" title="An IFRAME"/></a>
<!-- AJAX: Link to whatever content you want to pull in (must be on the same domain) --><a href="#" data-poptrox="ajax,600x400"><img src="http://placehold.it/100/07f/fff.png&text=ajax" alt="" title="AJAX content"/></a>
<!-- Ignore: Use this if you want a particular thumbnail to just link out to something --><a href="http://www.jqueryscript.net" data-poptrox="ignore"><img src="http://placehold.it/100/07f/fff.png&text=ignore" alt=""/></a>
</section>
</div><a class="devmount" href="http://devmount.de" target="_blank">created by<span>devmount</span></a>
<强>更新强>
现在让我了解你的需要,让我帮你一把。
Poptrox使用他自己的方法。如您所见,您不仅可以用来显示图像。但是定制需要遵循'Poptrox规则'。当您使用gallery选项时,您会看到它从href标记中获取图像,因此可用性不太适合自定义。
首先,我建议您在这里查看https://www.w3schools.com/howto/howto_css_modals.asp以了解模态对话框的工作原理。它会让你更好地理解。现在,关于Poptrox。如果你去Poptrox文档:https://github.com/ajlkn/jquery.poptrox
您可以选择自定义模态对话框的选项
的IFRAME
Link format: Anything. Type: iframe Example: <a href="path/to/whatever.html" data-poptrox="iframe,600x400"><img src="path/to/thumbnail.jpg" /></a>
AJAX内容
Link format: Anything (as long as it's on the same domain) Type: ajax Example: <a href="path/to/whatever.html" data-poptrox="ajax,600x400"><img src="path/to/thumbnail.jpg" /></a>
iframe打开'iframe'。 AJAX基本相同,但Ajax是异步的。 Asyncronous意味着它向服务器请求但他没有等待响应继续执行。
知道了。您可以使用按钮配置输出HTML文件,使用HTML链接。并在你的模态中显示它,我认为最好的方法是使用ajax选项。
检查example我已经完成了,对不起我的英语我不是母语为英语的人。
答案 1 :(得分:0)
您还可以添加 href 代替标题中的简单文本 将您的代码更改为:
<!-- image 1-->
<a href="http://placehold.it/500/09f/fff.png"><img src="http://placehold.it/100/09f/fff.png&text=image1" alt="" title="<a href='https://freefrontend.com/'>Just an image (#1)</a> /></a>
仅当进行以下更改时,这才充当链接.....
直到现在,您将遇到文件“ jquery.poptrox.min.js”,在该文件中找到“ captionText:r.attr('title')”,并将其更改为“ captionText:$ .parseHTML (r.attr('title')),“。现在jQuery会将title属性的内容解析为href而不是纯文本。