您的位置:首页 > Web前端 > JavaScript

树形菜单,刷新后不变

2010-10-22 21:29 441 查看
Javascript语句:

<script language="JavaScript" type="text/javascript">

    //收缩或展开树形菜单并写入Cookie

    function Show(id) {

        var obj = document.getElementById('div' + id);

        if (obj.style.display == "none") {

            obj.style.display = "";

            //将子菜单Id放入Cookies

            var curShow = readCookie('curShow');

            if (curShow != '') {

                var arr_curShow = curShow.split(',');

                var found = false;

                for (i = 0; i < arr_curShow.length - 1; i++) {

                    if (arr_curShow[i].toString() == id) {

                        found = true;

                    }

                }

                if (!found) {

                    writeCookie('curShow', curShow + ',' + id, 12);

                }

            }

            else {

                writeCookie('curShow', id, 12);

            }

            //将子菜单Id放入Cookies End

        } else {

            obj.style.display = "none";

            //将子菜单Id从Cookies中移除

            var curShow = readCookie('curShow');

            if (curShow != '') {

                var arr_curShow = curShow.split(',');

                for (i = 0; i < arr_curShow.length; i++) {

                    if (arr_curShow[i].toString() == id) { arr_curShow = arr_curShow.del(i--); }

                }

                curShow = arr_curShow.join(',');

                writeCookie('curShow', curShow, 12)

            }

            //将子菜单Id从Cookies中移除 End

        }

 

    }

 

    //读取Cookie

    function readCookie(name) {

        var cookieValue = "";

        var search = name + "=";

        if (document.cookie.length > 0) {

            offset = document.cookie.indexOf(search);

            if (offset != -1) {

                offset += search.length;

                end = document.cookie.indexOf(";", offset);

                if (end == -1) {

                    end = document.cookie.length;

                }

                cookieValue = unescape(document.cookie.substring(offset, end))

            }

        }

        return cookieValue;

    }

 

    //写入Cookie

    function writeCookie(name, value, hours) {

        var expire = "";

        if (hours != null) {

            expire = new Date((new Date()).getTime() + hours * 3600000);

            expire = "; expires=" + expire.toGMTString();

        }

        document.cookie = name + "=" + escape(value) + expire;

    }

 

    Array.prototype.del = function(n) {  //n表示第几项,从0开始算起。

        //prototype为对象原型,注意这里为对象增加自定义方法的方法。

        if (n < 0) {  //如果n<0,则不进行任何操作。

            return this;

        }

        else {

            return this.slice(0, n).concat(this.slice(n + 1, this.length));

        }

    }

 

    //初始化树形菜单

    function a() {

        var curShow = readCookie('curShow');

        var totalShow = 7;  //自己修改一共有多少个二级分类

        if (curShow != '' && curShow != null) {

            for (i = 1; i <= totalShow; i++) {

                document.getElementById('div' + i).display = "none";

            }

            var arr_curShow;

            arr_curShow = curShow.split(',');

            for (i = 0; i <= arr_curShow.length - 1; i++) {

                if (arr_curShow[i] != '') {

                    document.getElementById('div' + arr_curShow[i]).style.display = "";

                }

            }

        }

        play();

    }

</script>

Body内:

<h4><span><a href="zyyw_ztjs.aspx?moduleid=937">一级菜单</a></span></h4>

    <h5 onclick="Show(1)"><span>二级菜单</span></h5>

        <div id="div1" style="display: none;">

        </div>

    <h5 onclick="Show(2)"><span>二级菜单</span></h5>

        <div id="div2" style="display: none;">

        </div>

    <h5 onclick="Show(3)"><span>二级菜单</span></h5>

        <div id="div3" style="display: none;">

            <h5 style=" font-size: 9pt; padding-left: 22px;"><span>三级菜单</span></h5>

                <div>

                </div>

            <h5 style=" font-size: 9pt; padding-left: 22px;"><span>三级菜单</span></h5>

                <div>

                </div>

        </div>

    <h5 onclick="Show(4)"><span>二级菜单</span></h5>

        <div id="div4" style="display: none;">

        </div>

<h4><span><a href="zyyw_ztjs.aspx?moduleid=937">一级菜单</a></span></h4>

    <h5 onclick="Show(5)"><span>二级菜单</span></h5>

        <div id="div5" style="display: none;">

        </div>

    <h5 onclick="Show(6)"><span>二级菜单</span></h5>

        <div id="div6" style="display: none;">

        </div>

    <h5 onclick="Show(7)"><span>二级菜单</span></h5>

        <div id="div7" style="display: none;">

        </div>

Javascript方法a()调用位置:

<body onload="a()">

                                                                                                                       --其中部分内容摘自互联网
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息