如何在javascript完成24小时后调用面板

时间:2013-09-18 08:18:55

标签: java javascript android datetime time

嗨我想在24小时内完成后在javascript中打开一个特定的面板。我试图这样做,但它不起作用。这是我的代码:

var currentTime = new Date().getTime();
var visitedTime = Get_Cookie('lastvisitedtime');
if (!visitedTime || visitedTime < (currentTime - 24*60*60*1000) ) {
    alert('visitedTime = ' + visitedTime);
    Set_Cookie("lastvisitedtime", currentTime);

}
else{
    Set_Cookie("lastvisitedtime", currentTime); //first time
}

但它总是去其他部分。我怎样才能使它成为条件并显示警报部分。

感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:0)

更正后的代码..

步骤:

  1. 在开始时将lastvisitedtime cookie值设置为0
  2. 调用setInterval()方法,该方法将在1000ms后调用自身。它将在1000ms后调用timeEvent()函数。
  3. 应用if条件以检查visitedTime是否为0或具有某个有价值的值
  4. 如果visitedTime有一些有价值的时间值,则应用条件来检查被访问时间和时间之间的时差。 currentTime的

    DEMO jsfiddle

    // In start set cookie to null 
    setCookie("lastvisitedtime", 0);
    
    setInterval(function(){timeEvent()}, 1000);
    
    function timeEvent(){   
        var currentTime = (new Date()).getTime();
        var visitedTime = getCookie('lastvisitedtime');
        if (visitedTime != 0){
          if((currentTime - visitedTime) >= 60*1000){
             alert('visitedTime = ' + visitedTime);
             setCookie("lastvisitedtime", currentTime);
           }  
        }
       else{
            setCookie("lastvisitedtime", currentTime); //first time
       }
    }
    
    
    
    function getCookie(c_name)
     {
      var c_value = document.cookie;
      var c_start = c_value.indexOf(" " + c_name + "=");
      if (c_start == -1)
      {
        c_start = c_value.indexOf(c_name + "=");
     }
     if (c_start == -1)
     {
       c_value = null;
     }
     else
    {
       c_start = c_value.indexOf("=", c_start) + 1;
       var c_end = c_value.indexOf(";", c_start);
    if (c_end == -1)
    {
       c_end = c_value.length;
    }
       c_value = unescape(c_value.substring(c_start,c_end));
    }  
    return c_value;
    }
    
    function setCookie(c_name,value,exdays)
    {
      var exdate=new Date();
      exdate.setDate(exdate.getDate() + exdays);
      var c_value=escape(value) + ((exdays==null) ? "" : ";        expires="+exdate.toUTCString());
      document.cookie=c_name + "=" + c_value;
    }
    
    function checkCookie()
    {
       var username=getCookie("username");
       if (username!=null && username!="")
     {
        alert("Welcome again " + username);
     }
     else 
     {
        username=prompt("Please enter your name:","");
        if (username!=null && username!="")
       {
          setCookie("username",username,365);
       }
     }
    }