如何在页面加载时自动启动FancyBox并在15秒后自动隐藏?

时间:2014-07-19 16:00:19

标签: javascript jquery fancybox fancybox-2

我正在使用FancyBox 2.1.5。 在加载和关闭此广告后,我需要在主页上显示全屏广告(html),其中包含2个选项:标准用户点击,如果15秒内没有操作则自动隐藏。

第一项任务不是问题:

$.fancybox.open([
{
    href : 'http://fancyapps.com/fancybox/demo/1_b.jpg',
    title : 'Title'
} 
], {
padding : 0   
});

但是如何设置计数器和自动隐藏?

我正在考虑以下事项:

$(document).ready(function() {
$('.fancybox').fancybox.open([
{
    href : 'http://fancyapps.com/fancybox/demo/1_b.jpg',
    title : 'Title'
} 
], {
padding : 0   
});

$('.fancybox').fancybox({
afterShow: function(){
    setTimeout( function() {$.fancybox.close(); },15000);
},
afterClose: function(){
    clearTimeout( );
},
});

});

这是对的吗?

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我认为你应该做

$(document).ready(function () {
    $.fancybox.open([{
        href: 'http://fancyapps.com/fancybox/demo/1_b.jpg',
        title: 'Title'
    }], {
        padding: 0,
        afterShow: function () {
            setTimeout(function () {
                $.fancybox.close();
            }, 15000);
        },
        afterClose: function () {
            clearTimeout();
        }
    });
});

参见 JSFIDDLE

编辑

正如djdavid98所指出的那样,afterClose回调的清除时间是多余的。

$(document).ready(function () {
    $.fancybox.open([{
        href: 'http://fancyapps.com/fancybox/demo/1_b.jpg',
        title: 'Title'
    }], {
        padding: 0,
        afterShow: function () {
            setTimeout(function () {
                $.fancybox.close();
            }, 15000);
        }
    });
});

查看更新的 JSFIDDLE

答案 1 :(得分:0)

您可以在页面加载时使用延迟和单击功能一起执行exe.c然后在15秒后淡出