【好好学习】循环练习-随机生成三级菜单

(function(){
        for (var i=0;i<10;i++) {
          //生成10个m1
          $('.menu').append('<div class="m m1"></div>');
          //取个随机数,然后在m1后面加m2,m2的个数随机
          var aa
          aa = Math.floor(Math.random() *10);
          for (var j=0;j<aa;j++){
            $('.m1').append('<div class="n m2"></div>');
              //取个随机数,然后在m2后面加m3,m3的个数随机
              var bb
              bb = Math.floor(Math.random() *10);
              for (var k=0;k<bb;k++){
                $('.m2').append('<div class="m3"></div>');
              };
              //加完m3之后移除已经加过m3的m2的class name
              $('.m2').removeClass('m2');
          };
           //加完m2之后移除已经加过m2的m1的class name
          $('.m1').removeClass('m1');
        };


        $('.menu').click(function(){
          $(this).children('.m').toggle();
        });
        $('.m').click(function(){
          $(this).siblings('.m').children('.n').hide();
          $(this).children('.n').show();
          event.stopPropagation();
        });
        $('.n').click(function(){
          $(this).siblings('.n').children('.m3').hide();
          $(this).children('.m3').show();
          event.stopPropagation();
        });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设你有一个数据库表,里面包含了一些一级菜单和二级菜单的信息,可以采用以下的步骤来循环生成二级菜单: 1. 首先连接数据库,查询需要的数据。 2. 遍历查询结果,将一级菜单和二级菜单分别保存到不同的数组中。 3. 利用循环语句,依次输出一级菜单的名字,并在其下方生成对应的二级菜单。 4. 在生成二级菜单时,需要判断该二级菜单是否属于当前的一级菜单,如果是则输出。 下面是一个简单的示例代码: ``` <% // 连接数据库,查询数据 Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; conn = DriverManager.getConnection(url, username, password); stmt = conn.createStatement(); String sql = "SELECT * FROM menu"; rs = stmt.executeQuery(sql); // 将一级菜单和二级菜单分别保存到数组中 ArrayList<String> parentMenus = new ArrayList<String>(); ArrayList<String[]> subMenus = new ArrayList<String[]>(); while (rs.next()) { String parentMenu = rs.getString("parent_menu"); String subMenu = rs.getString("sub_menu"); parentMenus.add(parentMenu); subMenus.add(subMenu.split(",")); } // 循环输出一级菜单和对应的二级菜单 for (int i = 0; i < parentMenus.size(); i++) { String parentMenu = parentMenus.get(i); out.println("<li>" + parentMenu + "</li>"); String[] subMenuArr = subMenus.get(i); out.println("<ul>"); for (String subMenu : subMenuArr) { if (subMenu.startsWith(parentMenu + "-")) { out.println("<li>" + subMenu.split("-")[1] + "</li>"); } } out.println("</ul>"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } %> ``` 上面的代码中,我们首先连接数据库,查询所有的菜单信息,并将一级菜单和二级菜单分别保存到 `parentMenus` 和 `subMenus` 数组中。然后我们使用循环语句依次输出每个一级菜单,并在其下方生成对应的二级菜单。在生成二级菜单时,我们使用了一个判断,判断该二级菜单是否属于当前的一级菜单,如果是则输出。最后,我们关闭了数据库连接。 需要注意的是,上面的代码仅仅是一个示例,实际情况下需要根据具体的需求进行修改。例如,如果菜单比较多,可以考虑采用分页的方式进行显示;如果需要对菜单进行操作(例如添加、修改、删除等),则需要编写相应的代码来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值