js动态加载div显示主菜单和子菜单+jquery获取动态id

最近在做项目重构的主界面工作中,需要动态显示主菜单以及子菜单(各个界面的链接),查看原来老系统采用的是asp控件,但是重构的时候采用mvc框架,而且这些菜单并不是死的,而是通过其他界面来配置的,主菜单和子菜单都是数据库查询显示。因此,就想到了动态的拼接div来实现效果。

要实现的效果图

实现步骤:

第一步,查询主菜单名称

第二步,查询具体界面名称

第三步,更具菜单ID实现主菜单和子菜单的匹配

实现思路:

每个主菜单一个div,主菜单下的子菜单为一个整体的div,每个具体子菜单为li。

代码实现:

<span style="font-family:KaiTi_GB2312;font-size:18px;">$(function () {
    $.post('/Main/QueryAllMenu', {}, function (data) {
        $.post('/Main/QueryAllInterface', {}, function (data2) {

            //添加的时候先清除div中的数据
            $("#menu-container").empty();
            //遍历向div中添加查询到的菜单
            for (var n = 0; n < data.length; n++) {
                var menuid = data[n].MenuID//子菜单div的动态id
                $("#menu-container").append(
                    "<div class=menu-tit id=MenuName index=" + n + "><input type=hidden  > " + data[n].MenuName + "</div><div class=menu-list ><div class=top-line></div><ul class=nav-items id=" + menuid + "></ul></div>"
                    )

                for (var i = 0; i < data2.length; i++) {
                    if (data[n].MenuID == data2[i].MenuID) {
                        $("#" + menuid + "").append(
                                            "<li><a href=" + data2[i].InterfacePath + " target=content id=WindowsName onclick=alertText('" + data2[i].InterfaceName + "')>" + data2[i].InterfaceName + "</a></li>")
                    }
                }
            }
            Index.Init();
        });
    });
});</span>

ps:

$("#"+id+"")获取动态id,所以上面$("#" + menuid + "")这句代码就容易理解了,动态获取菜单的id

运行后代码的拼接效果:

写在后面:

至此基本功能实现了,下一步实现菜单的滑动效果,我也写了自己的div的拼接,原来这么简单,还有很多功能值得我去学习,下篇博客介绍菜单滑动效果实现。

时间: 2024-10-16 03:30:09

js动态加载div显示主菜单和子菜单+jquery获取动态id的相关文章

tips:解决bootstrapo-switch 在jqgrid中动态加载不显示的问题

bootstrapo-switch 是一个十分好用的插件,用来关闭开启再好不过了,适合状态类型只有两种的情况下可以进行切换 在使用中,在jqgrid动态加载的时候出现不能加载的问题 原因是html代码没有得到渲染,那么只要在jqgrid加载完毕后再次渲染即可~ function renderSwitch() { $('.make-switch').bootstrapSwitch(); return(true); } function renderSwitch() { $('.make-switc

JS图片加载失败显示默认图片

代码如下: <div id='photo<%# Container.DataItemIndex+1%>' style="position: absolute; display: none;"> <img alt="照片" src='../HR_System/Photo/s_<%# Eval("pr0214")%>.jpg' onerror="document.getElementById('vi

实现类似微博、QQ空间等的动态加载

微博.QQ空间等的动态加载方式属于滚屏加载技术,获取当前滚动条位置来触发onscroll()函数,向服务器发起请求,将请求得到的新的数据动态加载在页面上 本文利用该原理实现了动态加载,但不是检测当前滚动条位置来触发函数,而是由按钮事件触发,因此更简单一些. 走过的弯路 1) 将目前读取到的数据库中的位置存放在session中,当要加载更多的时候,去session中获得该值,动态加载后修改session中的值 错误原因:session是有缓存的,如果停留在当前页面,得到的值还是一开始的sessio

EasyUi -- 如何根据动态加载panel和Datagrid

在做项目的过程中,前台的面板和表格一般都不是固定的,它是根据后台传来的数据进行变化的.举个例子: 实现: 看一下我们的效果图: 这个上面的最左边的Panel要根据系别动态加载,有多少个系别就要加载都少个Panel,Panel里面的是一个table,这个里面也是动态加载出来. 右边是一个datagrid,datagrid里面的工作效率.业务能力等等也都是数据库动态加载出来的,包括后面的ABCD也是动态的. 这样就算数据库中的数据怎么变,这里都会动态地加载出来.那么怎么实现这些功能呢? 一.动态加载

实现Android 动态加载APK(Fragment or Activity实现)

尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38565345 最近由于项目太大了,导致编译通不过(Android对一个应用中的方法个数貌似有限制),所以一直琢磨着能否将某些模块的APK不用安装,动态加载,通过在网上查找资料和网友的帮助,终于实现了APK的动态加载,网络上介绍APK动态加载的文章非常多,但是我觉得写得非常好的就是这位大牛的,我基本上就是使用他的这种方案,然后加入了自己的元素.这位大牛是通过Activity实现的,我稍作修改

关于apk加壳之动态加载dex文件

由于自己之前做了一个关于手机令牌的APK软件,在实现的过程中尽管使用了native so进行一定的逻辑算法保护,但是在自己逆向破解的过程中发现我的手机令牌关键数据能够“轻易地”暴露出来,所以我就想进一步的对其进行加固.于是,我使用的网上常用的梆梆加固.爱加密和阿里的聚安全应用来对我的apk进行一个加固保护.加固后,出于好奇心,我想对这些加固的原理进行一个了解,便于我自己能够实现这个加固的方法.于是开始了网上关于这方面的学习,我将这些加固的大致原理进行了一个总结,发现它们实现的最主要的方法就是利用

android 动态加载View

在布局中动态加载View 1.主布局的funddatail.xml <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&q

JS文件加载:比较async和DOM Script

async与script动态加载都能使文件异步加载,本文叙述它们对页面渲染和load加载的影响方面. 目前我用demo.js作为执行文件操作.代码: var now = function() { return +(new Date()); } var t_s = now(); while(now() - t_s < 2000) { } 用sleep.php作为请求文件操作.代码: <?php sleep(3); echo 'var bb'; ?> 1. 一般script标签加载 <

eCharts动态加载各省份的数据

假如从数据库读出以下数据,如何将数据展示在地图之上 1.部门的名称数据: List deptname=[联通事业部-上海联通项目组, 联通事业部-河南联通项目组, 联通事业部-贵州联通项目组, 联通事业部-黑龙江联通项目组, 联通事业部-总部项目中心, 联通事业部-河北联通项目组, 联通事业部-北京联通项目组, 联通事业部-西藏联通项目组, 联通事业部-湖北联通项目组, 联通事业部-江苏联通项目组, 联通事业部-宝马业务拓展部, 联通事业部-浙江联通项目组, 联通事业部-重庆联通项目组, 联通事