打开fancybox时不重新加载页面

时间:2012-10-19 12:28:28

标签: jquery timeout fancybox reload fancybox-2

我是法国人,抱歉我的拼写错误......

我有一个包含fancybox的页面,我想在几分钟内重新加载此页面,除非打开fancybox。页面必须再次在fancybox关闭时重新充电。

我使用此代码,当打开fancybox时,重新加载不会停止,并且fancybox内容总是重新充值。

var timeout
$(document).ready(function(){
   timeout = setTimeout('window.location.reload(true);',2000);
   $('.fancybox').fancybox({
      'beforeLoad': function() {if(timeout){clearTimeout(timeout); timeout = null; }},
      'beforeClose': function() {window.location.reload(true);}
   });          
});

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

这应该有用。

$("<your selector>").fancybox({
    afterClose: function() {
       var timeout = setTimeout('window.location.reload(true);',2000);
    },
    beforeShow:function(){
       if(timeout){ clearTimeout(timeout); timeout = null; }
    }
})

注意:花式框的版本为jquery.fancybox.js?v=2.1.2

请查看jsfiddle link

答案 1 :(得分:0)

使用beforeLoadafterClose以这种方式为我工作:

function reloadPage(){
 location.reload();
}
$(document).ready(function(){
 var timeOut = setInterval("reloadPage()", 5000);
 $(".fancybox").fancybox({
  beforeLoad: function(){
   clearInterval(timeOut);
  },
  afterClose: function(){
   location.reload();
  }
 });
}); // ready

请参阅WORKING DEMO HERE

Salut