JQUERY读取JSON来生成主菜单及点击主菜单项显示相应子菜单 V2

4级级联菜单JQUERY+JSON版 4级级联菜单JQUERY+JSON版;高版本的Chrome,FireFox,Opera,IE11测试通过 立即下载

嗯嗯..第一版出现个问题...IE居然不兼容..于是换了种办法实现之...顺路添加了没有子菜单项直接跳转的主菜单项.

1.JS代码修改

  1. var saveMainItem;
  2. var saveSubItem;
  3. var tempData;
  4. //绑定CLASS
  5. function bindClass(selected)
  6. {
  7.     $("#nav_node > li").each(function(i) { //遍历菜单
  8.         if(i == selected) //当前单击的按钮
  9.         {
  10.             $(this).addClass("select"); //选定之
  11.         }else
  12.         {
  13.             $(this).removeClass(); //删除样式
  14.         }
  15.     });
  16. }
  17. //初始化菜单
  18. function initMenu()
  19. {
  20.     $("#nav_node").empty(); //清空主菜单各项
  21.     var tempItem = saveMainItem.clone(true); //克隆一个节点
  22.     
  23.     for(var i=0 ;i< tempData.menumain.length ;i++) //遍历节点
  24.     {
  25.         tempItem = saveMainItem.clone(true); //克隆一个节点
  26.         
  27.         tempItem.find("a").attr("href",tempData.menumain[i].url); //设置HREF
  28.         tempItem.find("a").attr("class",tempData.menumain[i].className); //设置ICON
  29.         tempItem.find("a").html("<span></span>" + tempData.menumain[i].title); //设置标题
  30.         tempItem.find("sup").attr("class",tempData.menumain[i].stat); //设置边上的那个按钮..
  31.         tempItem.find("a").attr("id",i);
  32.     
  33.         $("#nav_node").append(tempItem); //添加节点
  34.     }
  35. }
  36. //根据用户点击的按钮来生成子按钮列表
  37. function initSubMenu(eleNod)
  38. {
  39.     var selected = $(eleNod).attr("id");
  40.     
  41.     $("#submenu").empty(); //清空子菜单各项
  42.     tempSubData = tempData.menumain[selected].submenu; //提取子菜单列表
  43.     
  44.     for(var i=0 ;i< tempSubData.length ;i++) //遍历节点
  45.     {
  46.         var tempItem = saveSubItem.clone(true); //克隆节点
  47.         
  48.         tempItem.find("a").attr("href",tempSubData[i].url); //设置HREF
  49.         tempItem.find("a").text(tempSubData[i].title); //设置TEXT
  50.         
  51.         $("#submenu").append(tempItem); //添加到子菜单中
  52.     }
  53.     
  54.     bindClass(selected);    //绑定CSS
  55. }
  56.                 
  57. //绑定数据
  58. function bind()
  59. {
  60.     $.ajax({
  61.         type: "get",//使用get方法访问后台
  62.         dataType: "json",//返回json格式的数据
  63.         url: "menu2.js",//要访问的后台地址
  64.         data: "",//要发送的数据
  65.         success: function(msg){//msg为返回的数据,在这里做数据绑定
  66.             tempData = msg;
  67.             initMenu(); //初始化菜单
  68.             
  69.             $("#nav_node > li").each(function(i){   //遍历所有主菜单项
  70.                 if(i == 0)  //如果是第一个的话
  71.                 {
  72.                     initSubMenu($(this).find("a") );    //默认显示第一个主菜单项的子菜单项
  73.                 }
  74.                 
  75.                 if($(this).find("a").attr("href") == "#" ){ //如果没有链接的主菜单项
  76.                     $(this).find("a").click( function(){    //绑定单击事件
  77.                         initSubMenu( eval('this') );    
  78.                     });
  79.                 }
  80.             }); 
  81.          }
  82.     });
  83. }
  84. $(document).ready(function() {
  85.     $('.menu, .active, .innertab, .foot').pngFix( );
  86.    
  87.    saveSubItem = $("#submenu > li").clone(true); //子菜单项
  88.    saveMainItem = $("#nav_node > li").clone(true); //主菜单项
  89.    bind();  //绑定数据
  90. });

嗯..就是添加了个ID.然后从ID来读取每个项的值...然后使用了常规的..JQUERY的CLICK....

from http://blog.youkuaiyun.com/my9963/archive/2008/12/15/3525485.aspx

Jquery解析Json数据,实现级联菜单 jquery操作Dom对象,解析json数据,实现级联菜单,里面用到了事件绑定 立即下载

相关推荐

jquery+json制作级联菜单(包含json及其所有依赖jar包)

使用jquery和json制作省市级联下拉菜单,是同学们学习jquery的绝好范例,要知道,使用jquery从后台往前台传递包含对象的list集合通常是要解析为json对象,这是个很好的例子,希望对同学们有所帮助。该范例包含json及其所依赖的所有jar包

jquery实现点击跳转到相应位置

CSS部分 <style> body { background: #F1F1F1; } .wrapper{ width: 1200px; } .duoxuanti { color: #4D76E0; } .blue-bg { background-color: #4C76E2; color: #fff; border-radius: 3px; } .search-main { position: relative; backgr

qq_44732752的博客 2042

阿里平头哥与华为芯片的比较

阿里平头哥与华为芯片代表了中国AI芯片领域的两种典型发展路径:平头哥通过兼容CUDA生态快速切入市场,以较低成本提供接近国际水平的AI算力;华为则坚持全栈自研路线,构建从芯片到框架的完整技术体系,更注重供应链安全和自主可控。从短期来看,平头哥PPU在单卡性能参数上全面超越昇腾910B,接近英伟达H20水平,且成本优势明显,有望在云服务和互联网应用领域取得更大市场份额。而华为昇腾则凭借全栈自研和端边云协同优势,在政企市场和科研领域更具竞争力。

shao.bing的专栏 3981

页面跳转(点击菜单栏,跳转到相对应模块高度,注意导入jquery-1.11.1.js包)

Document 首页 关注 动态 风格 作品 首页 关注 动态 风格 作品

heart__to的博客 629

主成分分析避坑指南:为什么你的PCA结果总是不理想?

本文深入剖析了主成分分析(PCA)在实际应用中效果不佳的常见原因与解决方案。针对数据标准化、协方差矩阵选择、主成分数量确定、载荷矩阵解读等关键环节,提供了详细的避坑指南和诊断方法,并探讨了PCA的局限性及非线性数据结构下的备选方案,帮助数据分析师获得更稳健、可解释的降维结果。

convnet3designer的博客 510

SiC双向车载充电器技术解析与V2G应用

碳化硅(SiC)功率器件凭借其高击穿电场强度、优异热导率和低开关损耗特性,正在重塑电力电子系统的设计边界。作为第三代半导体材料的代表,SiC MOSFET通过降低80%的开关损耗,使车载充电器(OBC)效率突破96.5%。在双向能量转换架构中,图腾柱PFC与CLLC谐振变换器的组合实现了ZVS软开关,配合三维集成散热方案使功率密度达54W/in³。这些技术进步直接支撑了V2G(车辆到电网)应用场景,使电动车成为虚拟电厂(VPP)的关键单元。通过智能充放电策略优化,电池循环寿命可提升至4000次以上,为电力市

weixin_30693683的博客 274

js控制json生成菜单——自制菜单(一)

此文档解决以下问题: 1.JSON文件的书写方式 2.jQuery.getJSON()的运用 3.jQuery.each()的运用 4.jQuery的DOM 操作方法之一:.append()的运用 5.jQuery的遍历方法之一:.children()的运用 6.jQuery的遍历方法之一:.siblings()的运用 7.jQuery的绑定事件处理器之一:.on()的运用...

dezhen7792的博客 741

手把手教你用C语言给STM32写一个Modbus RTU从机库(含完整项目源码)

在工业自动化领域,Modbus RTU协议因其简单可靠的特点,成为RS485总线通信的事实标准。对于嵌入式开发者而言,为STM32等微控制器实现一个高效的Modbus RTU从机协议栈,是开发智能传感器、执行器等设备的必备技能。Modbus RTU从机的核心是一个状态机,需要处理帧接收、CRC校验、功能码解析和响应生成等环节。工业现场总会遇到意想不到的干扰情况,一个健壮的协议栈应该能够优雅地处理各种异常场景,而不是简单地崩溃或死锁。工业现场环境复杂,协议栈必须具备完善的异常处理机制。

weixin_30561425的博客 516

JQUERY读取JSON来生成主菜单及点击主菜单项显示相应子菜单

工作需要.把菜单单独保存为一个静态文件.页面在载入时读取之.以利于维护... 1.写JSON文件.新建一文本文档.存储格式用UTF-8(GB2312会显示乱码){menumain:[{title:"主菜单1",url:"#",className:"icon_myclub",stat:"",  submenu:[        {title:"子菜单1",url:"i

my9963的专栏 1786

在mdk文件移植太多_XCubeClassB代码 的移植

前言ST在www.st.com官网上提供了针对IEC60730/IEC60335 ClassB认证的软件包。软件包分为三个,分别适用STM8,STM32(基于标准外设库)和STM32(基于HAL库):STM8-SafeCLASSB,STM32-CLASSB-SPL,X-CUBE-CLASSB。本文以X-CUBE-CLASSB为例介绍如何做代码的移植以及经常遇到的问题的解决办法。X-CUB...

weixin_28898707的博客 1832

如何在 FPGA 中做数学运算

FPGA 非常适合进行数学运算,但是需要一点技巧,所以我们今天就看看如何在 FPGA 中进行简单和复杂的数学运算。介绍由于FPGA可以对算法进行并行化,所以FPGA 非常适合在可编程逻辑中实现数学运算。我们可以在 FPGA 中使用数学来实现信号处理、仪器仪表、图像处理和控制算法等一系列应用。这意味着 FPGA 可用于从自动驾驶汽车图像处理到雷达和飞机飞行控制系统的一系列应用。因为 FPGA 寄存器...

OpenFPGA的博客 2917

根据json文件生成动态菜单

admin.json文件(可以无限添加子菜单)admin.json[ { "image": "glyphicon glyphicon-home",//菜单前的图标 "name": "设备管理", "submenu": [ { "image": "glyphicon glyphicon-cloud", "name":

必以璀璨惊世人 5498

[企业AI落地] RAG 知识库系统在多租户环境下的细粒度权限隔离设计

多租户 RAG 系统真正的风险不只是搜不到,而是把不该看到的内容查出来、说出来、写回去。本文结合多客户售后知识助手场景,用元数据结构、向量检索过滤、回答策略和审计回写示例拆解租户、资源、检索、生成、审计五层权限边界。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 220

用jquery根据json动态创建多级菜单导航

HTML结构: <section class="sidebar"></setion> { "liClass": "active treeview", "link": "index2.html", "label": "结构预览", "iClass": "'fa fa-dashboard'", ...

weixin_30379531的博客 741

YOLOv11改进策略【卷积层】| arXiv 2025 YOLO-Master中的稀疏混合专家ES-MoE 动态路由提适配 + 稀疏激活降延迟,突破精度-效率权衡

ES-MoE(Efficient Sparse Mixture-of-Experts)是为解决传统YOLO类实时目标检测器的静态计算冗余问题而提出的稀疏混合专家模块。现有YOLO架构对所有输入场景采用统一的密集计算模式,导致简单场景资源浪费、复杂场景(如密集小目标、遮挡场景)计算不足,难以平衡检测精度与推理速度。ES-MoE引入实例条件自适应计算,通过动态路由机制为不同复杂度的输入分配差异化计算资源,突破传统静态架构的精度-效率权衡限制,同时适配实时检测的轻量化需求。

Limiiiing的博客 462

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

使用JSON来做数据传输的动态下拉列表

日志原文:http://j2ee.blog.sohu.com/68011726.html 之前也写过一个使用XML文件来传送数据的动态下拉列表,前段时间也在使用JSON来作为AJAX的数据传输介质。相关JSON的文章请参看http://j2ee.blog.sohu.com/65388567.html。今天就来说下使用JSON来做动态下拉列表的实现。 动态下拉列表的原理其实很简单...

weixin_30367945的博客 290

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jq根据json数据,动态生成一个二级联动菜单

jq根据json数据,动态生成一个二级联动菜单htmljson数据jq循环 html 蔬菜:<select name="vegetable" id="vegetable"> <option value="0">请选择类别一</option> </select> 水果:<select name="fruit" id="fruit"&gt...

web_hwg的博客 1898

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JS实现一个动态下拉菜单栏

1 引言    一段时间里,经常在网上的技术论坛中看到有朋友提问怎样用JS来实现一个动态的下拉弹出式的菜单栏,我个人觉的这种功能的实现,现在已经不是难题了,在网上搜一下,各种各样实现的方式都有,成型的代码皆是,那为什么还有这么多人再网上苦苦搜询实现的方法呢?我在读完了网上若干

SunBoy晨晨 2312

layui admin 根据后台json数据动态生成左侧菜单栏

1.使用模板方式加载菜单 //1.lay-url=&amp;amp;amp;amp;quot;后台给的接口&amp;amp;amp;amp;quot; //2.lay-headers=&amp;amp;amp;amp;quot;将token带入请求头&amp;amp;amp;amp;quot; //3.在模板中使用console.log {{# console.log(1) }} &amp;amp;amp;amp;amp;lt;div class=&

好巧的博客 1万+

ElementUI -- Mock.js介绍和使用与首页导航栏左侧菜单搭建

Mock.js是一个用于生成随机数据和模拟接口请求的JavaScript库。它可以帮助开发人员在前端开发过程中模拟后端接口的返回数据,以便进行前端页面的开发和测试。数据类型丰富Mock.js提供了一套简单易用的API,可以用于生成各种类型的随机数据,如字符串、数字、布尔值、日期等。开发人员可以使用Mock.js定义接口的返回数据结构,并生成符合该结构的随机数据。拦截Ajax请求通过拦截Ajax请求,Mock.js可以截获前端发送的请求,并根据预先定义的规则返回模拟的数据。

Ying_hao_kun的博客 741

自由的左边栏菜单,本地Json保存菜单数据

因为我们使用amis,我们可以大胆的考虑我们日后可能实现整个系统交给不懂编程的人去维护甚至修改。那么我们对左边栏的菜单项目就要求更加自由的控制,如果这个菜单需要修改,我们不能够重新编译系统,我们要实现简单的修改某个json文档就可以了。那么我们就需要修改左边栏菜单的工作方式。

Jimmy的专栏 1607

二级菜单-读取json二维数组实例

var carClass = [    {        "id":0,        "name":"微型车"    },{        "id":1,        "name":"小型车"    },{        "id":2,        "name":"紧凑车"    },{        "id":3,        "name":"中型车"    },{        "id

郭晓湉 3861

jquery 元素第二个_jQuery知识总结

目录 jQuery选择元素jQuery改变结果集jQuery链式操作jQuery创建元素jQuery修改元素jQuery移动元素jQuery选择元素 jQuery对浏览器的dom api进行了封装,提供了操作dom更方便的api。jQuery通过将CSS选择器传入jQuery构造函数(简写为$)来获取满足选择器的结果集。$ jQuery函数不直接返回dom元素,而是利用闭包创建一个可以操作do...

weixin_39990029的博客 365

jQuery 树型菜单完整代码

jquery 树形菜单实现

xiaowude_boke的博客 526
上一篇: 用asp取得MDB数据库的字段的说明属性
ph4studio
博客等级 码龄23年 5粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值