0

私はフランス人です、スペルミスでごめんなさい...

ファンシーボックスを含むページがあり、ファンシーボックスが開かれているときを除いて、このページを常にリロードしたいと考えています。ファンシーボックスを閉じるときに、ページを再度充電する必要があります。

私はこのコードを使用し、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);}
   });          
});

何か案は?

4

2 に答える 2

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 リンクを確認してください

于 2012-10-19T13:01:57.417 に答える
0

このように使用beforeLoadしてafterClose動作します:

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を参照してください。

サルート

于 2012-10-19T19:37:46.040 に答える