2016-02-12 63 views
1

我的代码有一个小问题。我用jquery打开了一个弹出窗口,它工作正常。这个弹出窗口被称为"popUp"(例如)。Popup和jquery(关闭后打开并执行)

我将确保如果弹出10秒钟,例如从弹出窗口打开的网站上显示的内收:

$("#protecAnimaux").val('fenêtre fermée avant 10 secondes...');

,如果弹出仍然开放至少10秒钟,所以我可以运行其它代码,但例如可显示:

$("#protecAnimaux").val('tout est ok !!'); 

我用这个代码打开弹出

$(document).on('click', '.buttons', function(e) { 
    e.preventDefault(); 
    var url = $(this).data("href"); 
    var windowName = "popUp";//$(this).attr("name"); 
    var windowSize = windowSizeArray[$(this).attr("rel")]; 
    window.open(url, windowName, windowSize); 
    windowvote = window.open(url, windowName, windowSize); 
}); 

非常感谢您的帮助:)

回答

0

它可以工作是这样的:当你点击按钮,你打开你的窗口 - 设置(在示例代码lastTime)时间戳。下次启动的时间间隔(或超时功能)和测试:

  • 如果开放以来通过的lastTime的差异与cTime,其中CTIME以秒为当前时间的delayMinTime比较满足您的要求,经过的时间。
  • 通过使用窗口实例窗口的状态,你的情况windowvote

这会显示下面的代码示例。要测试它,请点击here

$(document).on('click', '.buttons', function(e) { 
    e.preventDefault(); 
    var url = $(this).data("href"); 
    var windowName = "popUp";//$(this).attr("name"); 
    var windowSize = windowSizeArray[$(this).attr("rel")]; 
    var delayMinTime = 10; // time for warning in seconds 
    var closeTime = 60; // time for warning in seconds 
    var lastTime = new Date(); 
    var windowvote = window.open(url, windowName,windowSize); 
    var timer = setInterval(function() { 
     var cTime = Math.floor((new Date() - lastTime)/1000); 
     if (cTime < delayMinTime && windowvote.closed !== false) { 
      // window closed, warning message and kill timer 
      $("#protecAnimaux").val('fenêtre fermée avant 10 secondes...'); 
      clearInterval(timer); 
     } else if (cTime > delayMinTime) { 
      // status is fine... 
      $("#protecAnimaux").val('tout est ok !!'); 
      if(Math.floor(cTime > closeTime) { 
       // in case you want to close 
       // (that was the first request) 
       windowvote.close(); 
       clearInterval(timer); 
       // in case you want to reload or load 
       // a new url do... 
       windowvote.location.href = 'yournewurl'; 
      } 
     }  
    },100); 
}); 
+0

你好 好的谢谢你这是工作的:) 但我还需要当用户启动弹出窗口,这个弹出窗口重新加载每个60秒(例如)与查询sql中获取链接。非常感谢你:) – Fabien14

+0

@ Fabien14好吧,在你的问题中没有这样的东西,我不确定你想要什么 - 更新你的问题问一个新的问题,或者尝试修改给定的答案,我已经更新了示例演示一个新的url的负载而不是关闭。对于任何进一步更精确。 –

0

其实我尝试以确保当用户启动弹出,这其中显示一个网站,我通过SQL查询获得url和15秒(例如)后弹出将与另一个URL重新加载只是应用程序。实际上,我也从弹出窗口出现在网站上,或者离开当前使用$(“#outstanding”)val(url)显示的网站。它改变并重新加载新的URL网址弹出每15秒:)我创建了一个新的话题,但我不认为我是清楚的:)

Reload popup with query sql Jquery

+0

请仅在Stack Overflow上发布。非常感谢。 –

+0

好吧,我会做:) – Fabien14

0

我概括,因为我也不是很清楚: ) 我用这段代码启动一个弹出窗口: 我希望弹出窗口的内容加载一个我们有一个php文件(animaux.php)的URL,加载完成后打开弹出窗口。 我在父URL上显示当前在弹出窗口中。

我的问题是如何重新加载(而不是关闭)弹出每隔X秒与PHP文件中的URL,它返回给我新的URL。