我有一个使用fancybox的弹出窗口,我想添加一些时间,可能在1秒后显示并在5之后消失。我无法弄清楚在我使用的代码中添加任何延迟的位置,请任何人都可以帮助?
<script type="text/javascript">
jQuery(document).ready(function ($popup) {
$popup("#hidden_link").fancybox({
onComplete: function () {
$popup("#fancybox-img").wrap($popup("<a />", {
href: "mylink.html",
target: "_blank",
// delay: 9000 would like a delay ideally
}));
}
}).trigger("click");
});
</script>
<a id="hidden_link" href="images/myimage.jpg" style="visibility:hidden;"></a>
答案 0 :(得分:0)
您可以使用$.fancybox.open()
,点击此处详细信息 - Can you explain $.fancybox.open( [group], [options] ) params and if I can add youtube link as href?和$.fancybox.close()
。
setTimeout(function(){
$.fancybox.open(...)
}, 1000);
setTimeout(function(){
$.fancybox.close(...)
}, 5000);
答案 1 :(得分:0)
如果您的链接无法显示,则可以使用$.fancybox.open()
方法以编程方式打开fancybox,然后使用$.fancybox.close()
方法关闭它。
正如所指出的,您可以使用setTimeout()
来延迟执行这些方法,例如:
jQuery(document).ready(function ($popup) {
// open with delay
setTimeout(function () {
$popup.fancybox({
href: 'images/image01.jpg',
onComplete: function () {
$popup("#fancybox-img").wrap($popup("<a />", {
href: "mylink.html",
target: "_blank"
}));
// close with delay
setTimeout(function () {
$popup.fancybox.close();
}, 9000); // setTimeout close
}
});
}, 2000); // setTimeout open
}); // ready
参见 JSFIDDLE
注意:这适用于fancybox v1.3.4。