2015-02-06 80 views
2

我想知道如何检测多个cookie。我有两个按钮,class.attack_enabled和.restore_enabled,都分别创建了一个名为attackcompletecookie和restorecompletecookie的cookie。阅读多个cookie

如何检测cookie和添加一个类.territory_middle_complete

这里是我的代码:

$(".attack_enabled").click(function(){ 

    createCookie('attackcompletecookie','attack_cookie'); 

}); 

$(".restore_enabled").click(function(){ 

    createCookie('attackcompletecookie','restore_cookie'); 
    var atkcomplete = readCookie('attackcompletecookie'); 

}); 

if(atkcomplete){ 
    console.log(atkcomplete); 
    $(".territory_middle_complete").addClass("displayblockzindex2"); 
} 

回答

0

尝试使用ID来代替class jQuery中提及,离开班CSS。

入住在这里http://jsfiddle.net/hbzqnrm8/5/

我希望它可以帮助你。

<button id="attack_enabled">ATTACK</button> 
<button id="restore_enabled">RESTORE</button> 

<div class="territory_middle_complete">ADD A CLASS HERE</div> 

我编辑了你的jQuery代码,并添加了我认为你想实现的内容。当然,如果你想在点击“还原”按钮时检查cookie的存在,如果不想,只要在​​需要的地方移动if条件,但不要在点击函数之外,因为它只会在加载文件时执行。

$("#attack_enabled").click(function(){ 
    createCookie('attackcompletecookie','attack_cookie'); 
}); 

$("#restore_enabled").click(function(){ 
    createCookie('restorecompletecookie','restore_cookie'); 
    var atkcomplete = readCookie('attackcompletecookie'); 
    if(atkcomplete) 
    { 
     alert(atkcomplete); 
     $(".territory_middle_complete").addClass("displayblockzindex2"); 
    } 
}); 

function createCookie(cookieName, cookieId) { 
    document.cookie = cookieName + '=' + cookieId; 
} 

function readCookie(name) { 
    var nameEQ = encodeURIComponent(name) + "="; 
    var ca = document.cookie.split(';'); 
    for (var i = 0; i < ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0) === ' ') c = c.substring(1, c.length); 
     if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length)); 
    } 
    return null; 
} 
+0

你太棒了!非常感谢:) – Joe 2015-02-06 13:13:34

+0

所以,如果这对您有帮助,请将答案标记为正确,并给答案+1。我很高兴它帮助你:) – 2015-02-06 14:23:50

+0

我是一个新用户在这里,不能帮助+1的答案。抱歉。我有另一个问题。如何将Cookie的到期日期设置为上述答案? – Joe 2015-02-06 14:29:55