2012-12-06 60 views
0

我最近帮助解决了这个问题,但无法抓住帮助我的人。jQuery/Cookie弹出问题

下面的代码会每24小时弹出一次,并创建一个每天过期的cookie。我遇到的问题是,当cookie过期时,会创建一个新的,但弹出框不显示。我在一个拥有大量用户的网站上运行,所有人都说它弹出一次,永远不会再弹出。

我很好用HTML & CSS,但这是100%超出我的范围。我认为cookie需要被删除,而不是从我在互联网上看到的更新,但我期望错误。

任何帮助将不胜感激!提前谢谢了。

 <link rel="stylesheet" href="colorbox.css" /> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
     <script src="./colorbox/jquery.colorbox.js"></script> 
    <script> 
function getCookie(c_name) 
    { 
     var i,x,y,ARRcookies=document.cookie.split(";"); 
     for (i=0;i<ARRcookies.length;i++) 
     { 
      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
      x=x.replace(/^\s+|\s+$/g,""); 
      if (x==c_name) 
      { 
       return unescape(y); 
      } 
     } 
    } 

    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 cookieValue=getCookie("IGTop100Vote"); 
    if (cookieValue==null || cookieValue=="") 
    { 
     setCookie("IGTop100Vote","IG-Top-100-Vote-Popup-Cookie-24-Hours",1); 

    $(".ajax").colorbox({ open:true}); 


    } 
    else{ 

    } 

} 
    $(document).ready(function() { 


     checkCookie(); 


    }) 



    </script> 

     <p><a class='ajax' href="./content/ajax.html" title="Vote IG Top 100!"></a</p> 
+0

您使用的是cookie插件吗? – VIDesignz

+0

VIDesignz我没有使用插件。 –

+0

你缺少你的文件准备功能的分号...',' – VIDesignz

回答

1

checkCookie()功能从这个

if (cookieValue==null || cookieValue=="") 

改变你的 'if语句' 到这个

if (!cookieValue || cookieValue==null || cookieValue=="") 

这将检查如果cookie存在,不只是检查值。