2015-02-06 108 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