2016-10-04 121 views
1

我有一個按鈕,可以通過添加和刪除類來打開和關閉,當點擊關閉時,我需要它停留在該狀態,反之亦然,我分配給「off」狀態有效,但是當我想將其切換回開啓狀態時,我無法刪除該Cookie。設置和取消設置Cookie

$(document).ready(function() { 
    $(".button2").click(function() { 
    if($(".toggle2").hasClass("toggleOn")) { 
     $(".toggle2").removeClass("toggleOn"); 
     $(".toggle2").addClass("toggleOff"); 
     $.cookie('setting1', 'off', { expires: 1, path: '/', domain: '#' }); 
    } else { 
     $(".toggle2").removeClass("toggleOff"); 
     $(".toggle2").addClass("toggleOn"); 
     $.cookie('setting1', null, { expires: 1, path: '/', domain:  '#' }); 
    } 
    }); 
}); 

$(function() { 
    if($.cookie('setting1') == null) { 

    } else { 
    $(".toggle2").removeClass("toggleOn"); 
    $(".toggle2").addClass("toggleOff"); 
    $(".buttonON2").removeClass("buttOnAnimate"); 
    $(".buttonON2").addClass("buttOnAnimateRemove"); 
    $(".buttonOFF2").removeClass("buttOffAnimateremove"); 
    $(".buttonOFF2").addClass("buttOffAnimateADD"); 
    }; 
}); 

我是相當新的餅乾的概念,我讀了,要值賦給空將跟隨餅乾的if語句是什麼從而忽略else語句。任何建議,將不勝感激。

+0

如果你的目標是消除你可以用'$ .removeCookie( 「cookie_name」 餅乾);' – Franco

+0

使用'localStorage'支持新的支持HTML5的瀏覽器。 Ex:http://stackoverflow.com/a/39832070/6608101 –

+0

@Franco是的,我喜歡。 –

回答

1

使用removeCookie刪除的cookie

$.removeCookie('setting1'); 

爲jquery.cookie使用新版本

Cookies.remove('setting1'); 
+0

由於某種原因,這沒有奏效,我不知道如果我有一個過時的jquery.cookie.js文件。我找到了一個替代方案 - $ .cookie('setting1','',{expires:-1,path:'#'}); - 不知道是否建議 –