弹出和jquery(关闭后打开和操作)

时间:2016-02-12 11:01:46

标签: jquery popup

我的代码有一个小问题。我用jquery打开一个弹出窗口,效果很好。此弹出窗口称为"popUp"(例如)。

我会确保如果弹出窗口在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);
});

非常感谢你的帮助:)。

3 个答案:

答案 0 :(得分:0)

它可以这样工作:单击按钮并打开窗口时 - 在示例代码中设置时间戳(lastTime)。接下来,您启动一​​个间隔(或超时功能)并测试:

  • 如果自开放以来经过的时间通过比较lastTimecTime的差异来满足您的要求,其中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);
});

答案 1 :(得分:0)

事实上,我尝试确保当用户启动弹出窗口时,这个显示一个网站,我通过SQL查询获取网址,15秒后(示例)弹出窗口将重新加载另一个只是应用程序的URL。事实上,我也会从弹出窗口出现在网站上,或者离开当前使用$(&#34; #standing&#34;)val(url)显示的网站。并且每15秒更改一次,并使用新网址重新加载URL弹出窗口:)我创建了一个新主题,但我不认为我很清楚:)

Reload popup with query sql Jquery

答案 2 :(得分:0)

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

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