在getJSON和setInterval中调用FancyBox

时间:2013-03-06 14:38:48

标签: jquery fancybox setinterval getjson fancybox-2

我正在尝试使用getJSON方法来获取状态代码,如果状态代码是> 0,我想显示一个fancybox窗口。

我希望每5秒执行一次这个过程(使用setInterval函数)。该脚本执行时没有任何错误。显示如下所示的警报,但不显示fancybox DIV。

当状态为> 0显示fancybox弹出窗口,如果没有,则不显示。

请纠正我在哪里做错了。

这是HTML代码。

<div style="display:none">
   <div id="myModal">
     <h1>Conversion in Progress</h1>
   </div> 
</div>

这是jQuery代码。

$(document).ready(function() {           

    function myplugin() {             
        $.getJSON("get-status.php", function (data) {                        
              $.each(data, function (key, status) {   
                   if(status > 0) {
                      alert("Bad Status");         // Works;
                      $("#myModal").fancybox();
                   }else{
                      alert("Good Status");        // Works;
                      $.fancybox.close();
                   }
               });       
        });  
     };

     $(function() {
          setInterval(function() { myplugin() }, 5000);
     });

});';

1 个答案:

答案 0 :(得分:1)

您正在初始化fancybox,但实际上并没有触发它。

尝试添加$("#myModal").fancybox().click();