javascript - 保存到 cookie 的简单隐藏/显示常见问题解答

标签 javascript jquery jquery-cookie

为什么刷新页面时不保存 cookie?

http://jsfiddle.net/jBVBL/

或者更好的做法是只保存 1 个 cookie,其中包含每个带有“.active”的 li 的值

var hideshow = $(".hideShow");

hideshow.children().not(".active").each(function(index, value){
    var tis = $(this);

    if($.cookie('hideShow_id'+index) == index){
        tis.addClass(".active");
    } else {
        $(this).find("div").hide();
    }            
});

hideshow.find('h3').click(function(e){
    var tis = $(this);
    var tisindex= tis.parents("li").index;
        $.cookie('hideShow_id' + tisindex, tisindex);

        tis.next().slideToggle('2000');
        tis.parent().toggleClass('active');
    e.preventDefault();
});


<ul class="hideShow">
        <li class="active">
         <h3><a href="javascript:;">Pellentesque nec leo cursus ipsum rhoncus volutpat nec eget mi.</a></h3>
         <div>
               <p>Nam velit metus, vulputate eget sodales ut, dignissim vehicula nisi. Lorem ipsum dolor sit amet</p>
             <ul>
                 <li>
                     <strong>Pellentesque</strong> nec leo cursus ipsum rhoncus volutpat nec eget mi.</li>
                 <li>

                     <strong>Nam</strong> quis lectus enim, ac euismod urna.</li>
                 <li>
                     <strong>Donec</strong> varius massa augue, at feugiat tortor.</li>
             </ul>
         </div>
    </li>
    <li>
     <h3><a href="javascript:;">Pellentesque nec leo cursus ipsum rhoncus volutpat nec eget mi.</a></h3>
     <div>
           <p>Nam velit metus, vulputate eget sodales ut, dignissim vehicula nisi. Lorem ipsum dolor sit amet</p>
         <ul>
             <li>
                 <strong>Pellentesque</strong> nec leo cursus ipsum rhoncus volutpat nec eget mi.</li>
             <li>

                 <strong>Nam</strong> quis lectus enim, ac euismod urna.</li>
             <li>
                 <strong>Donec</strong> varius massa augue, at feugiat tortor.</li>
         </ul>
     </div>
    </li>
    <li>
     <h3><a href="javascript:;">Pellentesque nec leo cursus ipsum rhoncus volutpat nec eget mi.</a></h3>
     <div>
           <p>Nam velit metus, vulputate eget sodales ut, dignissim vehicula nisi. Lorem ipsum dolor sit amet</p>
         <ul>
             <li>
                 <strong>Pellentesque</strong> nec leo cursus ipsum rhoncus volutpat nec eget mi.</li>
             <li>

                 <strong>Nam</strong> quis lectus enim, ac euismod urna.</li>

         </ul>
     </div>
    </li>
</ul> 

使用:https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js

最佳答案

您正在为每个索引创建一个不同的 cookie,并且它们永远不会与您在页面加载时查找的 cookie 相匹配。此外,您有不同的 cookie 名称字符串“hideShow-id”与“hideShow_id”

关于javascript - 保存到 cookie 的简单隐藏/显示常见问题解答,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9449834/

相关文章:

javascript - 从谷歌代码链接 jquery.cookie.js?

javascript - 每 15 天为新用户加载一次 Magnific Popup

javascript - 如果我通过 JavaScript 在页面中添加内容,搜索引擎蜘蛛是否可以抓取它

javascript - Bootstrap 旋转木马放大到淡出

javascript - 如果父窗口刷新,则检索对子窗口的引用

javascript - 如何在 Angular 2 项目中使用脚本标签

javascript - 将数字而不是字符串传递给 parseFloat()

jquery - 改进了使用正则表达式替换的性能

Javascript 安全地使用用户正则表达式

javascript - 使用 jQuery 替换最后一个逗号?