隐藏元素三分钟的连接

时间:2011-09-30 18:10:11

标签: javascript events html5 user-interface time

我有一个聊天应用程序,我希望在用户连接三分钟后显示“请求主管”按钮。这将包括用户刷新页面。

这就是我所拥有的,但它根本就不够;

//shows the tooltip in 3 minutes
window.setTimeout(function(){
        $("#panic-tooltip").fadeTo(1000, 1);
    }, 180000);

显然,如果用户刷新页面,它会锁定。我正在考虑以某种方式使用cookie ...我宁愿不必在后端做任何事情,但我可能不得不这样做。此外,我知道推技术将是一个很好的解决方案,但这不是一个选择。

如果有任何帮助,我正在使用HTML5/CSS3/jQuery/jQuery UI btw。

谢谢!

2 个答案:

答案 0 :(得分:0)

这就是我最终使用的......太糟糕的davin或mellamokb没有回答lol

if($.cookie("showPanic") == 'yes'){
    $("#panic-tooltip").fadeTo(1000, 1);
} else {
    window.setTimeout(function(){
        $("#panic-tooltip").fadeTo(1000, 1);
        $.cookie("showPanic", "yes");
    }, 180000);
}

答案 1 :(得分:0)

鉴于你有设置cookie的功能和一个检索cookie的功能,它相对简单。

首次访问时,您可以使用当前时间设置Cookie:

if(!getCooke('first_visit')) setCookie('first_visit', new Date().toString());

但前提是cookie尚未存在。

此外,您还有一个间隔循环检查时间差:

var timer = setInterval(function(){
    var oldDate = new Date(getCookie('first_visit')),
        newDate = new Date();

    if(newDate - oldDate > 180000){  //time is in miliseconds
        clearInterval(timer);
        //show your message here
        $("#panic-tooltip").fadeTo(1000, 1);

    } 
},1000);