2013-03-11 92 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上面的回答是正确的