美文网首页
左侧栏用cookie存储选择状态

左侧栏用cookie存储选择状态

作者: 努力努力再努力_g | 来源:发表于2018-03-12 13:50 被阅读0次

1.插入jquery.cookie.js

<script type="text/javascript" th:src="@{/js/common/jquery.min.js}"></script>
<script type="text/javascript" th:src="@{/js/common/jquery.cookie.js}"></script>

jquery和cookie的路径根据自己的路径更改

2.html代码

//上方菜单栏
      <ul class="nav_main">
            <li><a th:href="">所有课程</a></li>
            <li><a th:href="}">教务列表</a></li>
            <li><a th:href="">个人中心</a></li>
            <li><a class="current" ">系统管理</a></li>
            <li><a th:href="">退出</a></li>
        </ul>

//下方左侧栏
<div class="col-md-2">
    <nav>
        <ul id="sys-menu">
            <li class="course">
                <span class="course-icon"></span>
                <a>课程库管理</a>
            </li>
            <li class="know">
                <span class="know-icon"></span>
                <a th:href="@{/teach/examineInformationStu}">教学课程管理</a>
            </li>
            <li class="type">
                <span class="type-icon"></span>
                <a th:href="@{/teach/examineInformationStu}">权限管理</a>
            </li>
            <li class="experience">
                <span class="experience-icon"></span>
                <a>用户管理</a>
            </li>
            <li class="notice">
                <span class="notice-icon"></span>
                <a>学期管理</a>
            </li>
            <li class="study">
                <span class="study-icon"></span>
                <a>可视化管理</a>
            </li>
            <li class="resource">
                <span class="resource-icon"></span>
                <a>版本设置</a>
            </li>
        </ul>
    </nav>
</div>

3.js代码

//cookie菜单栏选中
    //给每个a标签添加点击事件
    $('#sys-menu').find("a").click(function () {
        $('#sys-menu').find("a").parent().width(50);
        var index = $("#sys-menu").find("a").index(this);
        $.cookie("current",index,{"path":"/", expires:30});
        console.log(document.cookie);
    });

    $(function(){

        var dt = new Date();
        dt.setSeconds(dt.getSeconds() + 60);
        document.cookie = "cookietest=1; expires=" + dt.toGMTString();
        var current = $.cookie("current");
        //cookie记录已点击的index
        console.log(document.cookie);
        if($.cookie("current") != null){
            var num = $.cookie("current");
            $('#sys-menu').find("a").eq(num).parent().width("100%");
        }else{
            $("#sys-menu").find("a").eq(0).parent().width("100%");
        }
    });

    //清除cookie
    $(".nav_main li").click(
        function () {
    //清除cookie
            $.cookie("current",0,{"path":"/", expires:0})
        }

    );

4.效果图


image.png
image.png
image.png

5.因为我用的装饰器比较多,所以每次点击不同页面都要清除cookie,在每次点击上方菜单栏时重置cookie为0,这样点击其他地方的时候就会自动选中第一个页面。

6.技术不太成熟,给大家做个参考。

相关文章

网友评论

      本文标题:左侧栏用cookie存储选择状态

      本文链接:https://www.haomeiwen.com/subject/cxynfftx.html