恢复div的CSS属性

约翰·杜

网站刷新后,我正在尝试从div恢复显示属性(noneblock)。我有该类的多个div,但具有唯一的ID。在这些div中有一些复选框,可在选中或取消选中它们后刷新网站。

这是一个jsfiddlehttps : //jsfiddle.net/074jatfs/2/

这是我的div和复选框的补充工具栏:

<div class="filter-panel filter--property facet--property" data-filter-type="value-list" data-field-name="f">
   <div class="filter-panel--flyout" style="border:none;"><div id="label-it" class="label-it"><label class="filter-panel--title"><h3>Filter Group 1</h3></label></div>
   <div class="filter-panel--content" id="FilterGroup1">
      <ul class="filter-panel--option-list" style="list-style-type:none;">
         <li class="filter-panel--option">
            <div class="option--container" style="display:block;">
            <span class="filter-panel--checkbox"><input type="checkbox" value="603"><span class="checkbox--state">&nbsp;</span>
            </span>
            <label>Filter 1</label>
         </div>
         </li>
         <li class="filter-panel--option">
            <div class="option--container" style="display:block;">
            <span class="filter-panel--checkbox"><input type="checkbox" value="613"><span class="checkbox--state">&nbsp;</span>
         </span>
             <label>Filter 2</label>
         </div>
         </li>
         </ul>
         </div>
         </div>
         <div class="filter-panel filter--property facet--property" data-filter-type="value-list" data-field-name="f">
   <div class="filter-panel--flyout" style="border:none;"><div id="label-it" class="label-it"><label class="filter-panel--title"><h3>Filter Group 2</h3></label></div>
   <div class="filter-panel--content" id="FilterGroup2">
      <ul class="filter-panel--option-list" style="list-style-type:none;">
         <li class="filter-panel--option">
            <div class="option--container" style="display:block;">
            <span class="filter-panel--checkbox"><input type="checkbox" value="603"><span class="checkbox--state">&nbsp;</span>
            </span>
            <label>Filter 3</label>
         </div>
         </li>
         <li class="filter-panel--option">
            <div class="option--container" style="display:block;">
            <span class="filter-panel--checkbox"><input type="checkbox" value="613"><span class="checkbox--state">&nbsp;</span>
         </span>
             <label>Filter 4</label>
         </div>
         </li>
         </ul>
         </div>
         </div>
         <div class="filter-panel filter--property facet--property" data-filter-type="value-list" data-field-name="f">
   <div class="filter-panel--flyout" style="border:none;"><div id="label-it" class="label-it"><label class="filter-panel--title"><h3>Filter Group 3</h3></label></div>
   <div class="filter-panel--content" id="FilterGroup3">
      <ul class="filter-panel--option-list" style="list-style-type:none;">
         <li class="filter-panel--option">
            <div class="option--container" style="display:block;">
            <span class="filter-panel--checkbox"><input type="checkbox" value="603"><span class="checkbox--state">&nbsp;</span>
            </span>
            <label>Filter 5</label>
         </div>
         </li>
         <li class="filter-panel--option">
            <div class="option--container" style="display:block;">
            <span class="filter-panel--checkbox"><input type="checkbox" value="613"><span class="checkbox--state">&nbsp;</span>
         </span>
             <label>Filter 6</label>
         </div>
         </li>
         </ul>
         </div>
         </div>

label-it单击div时,divfilter-panel--content从切换display:blockdisplay:none,另一种方式(切换display:nonedisplay:block

此时,我想保存的当前属性,display并在网站刷新时将其恢复。

这是我第一次尝试使用sessionStorage属性,我尝试在toggle函数中进行设置:

$('.label-it').click(function() {

  $(this).closest(".filter-panel--flyout").find(".filter-panel--content div").toggle(350)

sessionStorage.setItem("filterstate", $("#FilterGroup1").css("display"));

});

为了恢复filterstate我尝试了这个:

$(document).ready(function () {
    sessionStorage.getItem("filterstate");
    if (sessionStorage.getItem("filterstate"))
    {
        $("#FilterGroup1").css("display", sessionStorage.getItem("filterstate"));
    }
});

我无法还原CSS属性,有人可以帮助我吗?请。

尼丁·约瑟夫

您需要改为尝试存储displaydiv值,值实际上是已切换的,而不是其父级。

sessionStorage.setItem("filterstate", $("#FilterGroup1 .option--container").css("display"));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章