qq_39586869 2017-09-28 13:37 采纳率: 50%
浏览 919
已结题

菜单列表的收缩和重复的问题。。。。醉了。。

图片说明

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" src="js/jquery.js"></script>

<script type="text/javascript">
$(function(){   
    //导航切换
    $(".menuson .header").click(function(){
        var $parent = $(this).parent();
        $(".menuson>li.active").not($parent).removeClass("active open").find('.sub-menus').hide();

        $parent.addClass("active");
        if(!!$(this).next('.sub-menus').size()){
            if($parent.hasClass("open")){
                $parent.removeClass("open").find('.sub-menus').hide();
            }else{
                $parent.addClass("open").find('.sub-menus').show(); 
            }


        }
    });

    // 三级菜单点击
    $('.sub-menus li').click(function(e) {
        $(".sub-menus li.active").removeClass("active")
        $(this).addClass("active");
    });

    $('.title').click(function(){
        var $ul = $(this).next('ul');
        $('dd').find('.menuson').slideUp();
        if($ul.is(':visible')){
            $(this).next('.menuson').slideUp();
        }else{
            $(this).next('.menuson').slideDown();
        }
    });
})  
</script>


<script>
    //页面载入加载所有的一级菜单
    $(function(){

        //从session作用域中获取当前用户的角色id(rid)
        var rid = ${UserInfo.role.rid};

        //利用jquery的ajax去数据库中查询所有的一级菜单
        $.get("user.action",{operation:'loadMenu',rid:rid,pmid:0},function(result){
            //判断result非空
            if(result != ""){
                //将json字符串数组转换成json对象数组
                var menuList = JSON.parse(result);

                //遍历menuList
                if(menuList.length>0){
                    for(var i=0;i<menuList.length;i++){
                        var menu = menuList[i];
                            //在菜单选项显示部分添加一级菜单
                            $("#lm").append("<dd><div class='title' onclick='load("+rid+","+menu.mid+");'><span><img src='images/leftico04.png' /></span>"+menu.mname+"</div><ul class='menuson' id='"+menu.mid+"'></ul></dd>");


                    }
                }

            }
        });
    });




    //当单击一级菜单时加载二级菜单
    function load(userRid,pmid){

        var $ul = $(this).next('ul');
        $('dd').find('.menuson').slideUp();
        if($ul.is(':visible')){
            $(this).next('.menuson').slideUp();
        }else{
            $(this).next('.menuson').slideDown();
        }

        //清空ul标签内容
            $("#"+pmid).empty();--------------------------这个就是表明需要清空以前看过的菜单意思就是不会出现重复的菜单。。但是一开始这个是可以的,后来不知道为甚什么不起作用了。。

        //利用ajax查询二级菜单内容
        $.get("user.action",{operation:'loadMenu',rid:userRid,pmid:pmid},function(result){
            //判断result非空
            if(result != ""){
                //将json字符串数组转换成json对象数组
                var menuList = JSON.parse(result);

                //遍历menuList
                if(menuList.length>0){
                    for(var i=0;i<menuList.length;i++){
                        var menu = menuList[i];
                            //在菜单选项显示部分添加二级菜单
                            $("#"+pmid).append("<li><cite></cite><a href='"+menu.url+"' target='rightFrame'>"+menu.mname+"</a><i></i></li>");
                    }
                }

            }
        });

        $("#"+pmid).slideDown();

    }


</script>


</head>

<body style="background:#f0f9fd;">
    <div class="lefttop"><span></span>系统功能</div>

    <dl class="leftmenu" id="lm">

                    <!--  <dd><div class="title"><span><img src="images/leftico04.png" /></span>用户管理</div>
                        <ul class="menuson">
                            <li><cite></cite><a href="#">查询所有用户信息</a><i></i></li>
                            <li><cite></cite><a href="#">添加用户信息</a><i></i></li>
                            <li><cite></cite><a href="#">其他</a><i></i></li>
                        </ul>

                     </dd> -->




    </dl>

</body>
</html>

一开始好好的,那个清空ul的标签内容是可以运行的,菜单不会重复,但是不知道后来怎么了,就变得开始重复了。。。。


![图片说明](https://img-ask.csdn.net/upload/201709/29/1506649336_264881.png)

不清楚这是怎么了,为什么突然间代码不起作用了。。??

  • 写回答

1条回答 默认 最新

  • 有趣的 2017-09-29 08:03
    关注

    一步一步查查吧!看看 $("#"+pmid)是否获取到了

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)