2013-03-11 55 views
0

我有一個函數可以創建一個按鈕並切換div。在JS中存儲cookie中的值?

我希望這個div根據cookie值被打開或關閉。每次切換時cookie都會更新。初始值是cookie值。

如果不存在cookie,則使用初始值'true'創建一個。 cookie is_side_toggled是一個布爾值。

function addRightButton() { 

    $('.fc-header-right').html 
     ('<a class="btn btn-small btn-unscheduled">>></a>'); 

    if ($('#cal-side').is(":visible")) { 
     $('.btn-unscheduled').html('>>'); 
    } 
    else { 
     $('.btn-unscheduled').html('<<'); 
    } 

    $('.btn-unscheduled').on('click', function() { 

     $('#cal-side').toggle(); 
     if ($('#cal-side').is(":visible")) { 
      $('.btn-unscheduled').html('>>'); 
     } 
     else { 
      $('.btn-unscheduled').html('<<'); 
     } 
     resizeCalendar(); 
    }) 
} 

我該如何添加一個bool cookie並獲取它的值?

感謝

+2

您是否閱讀過關於設置/獲取cookie的JavaScript文檔? – Madbreaks 2013-03-11 18:42:20

+0

你應該在提出問題之前顯示一個嘗試 – 2013-03-11 18:43:29

+0

Cookie值是字符串,對於bool值,您可以只使用cookie的存在,或值爲「0」和「1」,或「false」和「true」 ,或任何你想要的。 – Chad 2013-03-11 18:43:38

回答

1

,你可以在https://github.com/carhartl/jquery-cookie 使用jQuery的餅乾插件,這樣做:

function addRightButton() { 

    if($.cookie('scheduled') == '0'){ 
     $('.fc-header-right').html('<a class="btn btn-small btn-unscheduled"><<</a>'); 
     $('#cal-side').hide(); 
    } 
    else 
     $('.fc-header-right').html('<a class="btn btn-small btn-unscheduled">>></a>'); 

    if ($('#cal-side').is(":visible")) { 
     $('.btn-unscheduled').html('>>'); 
    } 
    else { 
     $('.btn-unscheduled').html('<<'); 
    } 

    $('.btn-unscheduled').on('click', function() { 

     $('#cal-side').toggle(); 
     if ($('#cal-side').is(":visible")) { 
      $('.btn-unscheduled').html('>>'); 
      $.cookie('scheduled','1'); 
     } 
     else { 
      $('.btn-unscheduled').html('<<'); 
      $.cookie('scheduled','0'); 
     } 
     resizeCalendar(); 
    }) 
} 
0

Cookie可以通過document.cookie中被訪問()methood原產於JS,如果你不要;不希望使用jQuery其他庫使用jQuery,可以訪問/操作Cookie作爲here。 請根據您的代碼使用類似$ .cookie('scheduled',true)

[編輯:] SO沒有告訴我這個問題。被回答並且@Omar上面的回答是正確的