时间fancybox弹出窗口

时间:2014-12-02 11:13:33

标签: javascript jquery fancybox

我有一个使用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>

2 个答案:

答案 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。