如何使用jQuery设置和取消设置cookie,例如创建一个名为cookie并将test
值设置为1
?
我正在尝试确定如何使用$ .cookie保存可折叠面板的折叠状态.
到目前为止,这个问题一直有用,但仍然缺少最终解决方案.
到目前为止我找到的任何解决方案都只保存了最后一个下拉面板,因此当重新加载页面时,唯一保存的面板是最后一个.
我需要的是保存所有滚动的面板而不是一个.
链接到Github上的jCookie插件.
链接到JSFiddle的演示
UPDATE
有人建议LocalStorage是我想要实现的更合适的解决方案.如果您可以评论为什么以及本地存储是什么,将非常感激.
更新2
因为有人建议本地存储比使用cookie来改善这个问题.选定的答案基于此.然而,正如Robin所提到的,在HTTPS站点上使用此技术存在缺点.
HTML
<div class="panel panel-default">
<div data-toggle="collapse" data-target="#panel1" class="panel-heading collapsed">
<h4 class="panel-title">
<a> Panel 1 </a>
</h4>
</div>
<div id="panel1" class="panel-collapse collapse">
<div class="panel-body">
</div>
</div>
</div>
<div class="panel panel-default">
<div data-toggle="collapse" data-target="#panel2" class="panel-heading collapsed">
<h4 class="panel-title">
<a> Panel 2 </a>
</h4>
</div>
<div id="panel2" class="panel-collapse collapse">
<div class="panel-body">
</div>
</div>
</div>
<div class="panel panel-default">
<div data-toggle="collapse" data-target="#panel3" class="panel-heading collapsed">
<h4 class="panel-title">
<a> Panel 3 </a> …
Run Code Online (Sandbox Code Playgroud) 我是一个jquery/javascript新手.我想要做的是在开放式手风琴标题中添加一个类,并在打开另一个时删除它.
继承人代码:
<div class="accordion" data-collapse-type="manual" id="parent">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle category" data-toggle="collapse" data-parent="#parent" href="#category1">Category 1
</a>
</div><!--/accordion-heading-->
<div id="category1" class="accordion-body collapse">
<ul class="accordion-inner unstyled">
<li id="" class="sidelink"><a href="">Open Link 1</a></li>
<li id="" class="sidelink"><a href="">Open Link 2</a></li>
<li id="" class="sidelink"><a href="">Open Link 3</a></li>
</ul>
</div><!--/category1-->
</div><!--/accordion-group-->
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle category" href="#Category2">Category 2</a>
</div><!--/accordion-heading-->
</div><!--/accordion-group-->
</div><!--/accordion-->
Run Code Online (Sandbox Code Playgroud)
我附在页面上的脚本是
<script src="js/jquery-1.7.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.tools.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
所以我想要的是在菜单打开时(手风琴式)将.active类添加到a.accordion-toggle,然后一旦选择了另一个就让它消失.我看过这里的文档引导程序,但它似乎没有帮助我很多(因为我不知道如何处理
$('#myCollapsible').on('hidden',function(){//做某事......})
或者在哪里放置它)我也尝试过.addClass() jquery加法器,但我只能得到javascript版本document.getElementById("accordion-heading").className + ="newClass"; 工作(如果我给手风琴组冠军一个ID,但在这种情况下会有多个手风琴组)当我把脚本放在div层之后.
我有一个自举式手风琴,我尝试在其中重新打开上次打开的窗格,就像有人单击页面上的“保存”按钮一样。我找到了此解决方案:在页面刷新/导航上保留Twitter Bootstrap折叠状态
但由于我的用户积分不足,因此无法对此发表评论。
由于某些原因,我无法使该功能正常工作:
//when a group is shown, save it as the active accordion group
$("#applicant-accordion").bind('shown', function () {
var active = $("#applicant-accordion .in").attr('id');
$.cookie('activeAccordionGroup', active)
});
Run Code Online (Sandbox Code Playgroud)
我正在尝试在FireBug中对其进行测试,但我从未与var active接触。它停在$(“#applicant-accordion).bind的行上。由于我的jQuery版本是1.7.2,因此我尝试将.bind更改为.on。
我很茫然,希望您能引导我寻求解决方案。我在ASP.NET中构建它。
<script src="../Scripts/jquery-1.7.2.js" type="text/javascript"></script>
<script src="../Scripts/bootstrap/js/bootstrap.js" type="text/javascript" />
<link href="../Scripts/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js" />
<script type="text/javascript">
$(document).ready(function () {
var last = $.cookie('activeAccordionGroup');
if (last != null) {
//remove default collapse settings
$("#applicant-accordion .panel-collapse").removeClass('in');
//show the account_last visible group
$("#" + last).addClass("in");
}
});
//when a group …
Run Code Online (Sandbox Code Playgroud)