2014-07-19 43 views
0

我在使用FancyBox 2.1.5。 我需要一個全屏廣告(html)在主頁加載後顯示在主頁上,並使用2個選項關閉此廣告:如果在15秒內沒有任何操作,標準用戶點擊並自動隱藏。如何使FancyBox在頁面加載時自動啓動並在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(); 
}, 
}); 

}); 

這是正確的嗎?

在此先感謝您的幫助!

回答

0

您可以使用延時和點擊功能一起在頁面加載到exe.c然後15秒

+0

但究竟如何,假設有花式API afterShow和afterClose回調? –

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

什麼'clearTimeout'沒有任何參數,它真的有必要嗎? – SeinopSys

相關問題