我正在使用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( );
},
});
});
它是否正确?
在此先感谢您的帮助!
最佳答案
我想你宁愿做
$(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