JavaScript结合HTML DOM实现联动菜单


Posted in Javascript onApril 05, 2017

本文实例为大家分享了js三级联动菜单展示的具体代码,供大家参考,具体内容如下

效果图:

JavaScript结合HTML DOM实现联动菜单

代码:

<!DOCTYPE HTML>
<html>
<head>
<title>联动菜单</title>
<meta charset="utf-8" />
<script>
  /*使用 HTML DOM 的方式实现联动菜单*/
  var categories=[
  {
   "id":10,
   "name":'男装',
   "children":[
    {"id":101,"name":'正装'},
    {"id":102,"name":'T恤'},
    {"id":103,"name":'裤衩'}
   ]
  },
  {
   "id":20,
   "name":'女装',
   "children":[
    {"id":201,"name":'短裙'},
    {"id":202,"name":'连衣裙'},
    {
     "id":203,
     "name":'裤子',
     "children": [
      {"id":2031,"name":'长裤'},
      {"id":2031,"name":'九分裤'},
      {"id":2031,"name":'七分裤'}
     ]
    },
   ]
  },
  {"id":30,"name":'童装',"children":[
   {"id":301,"name":'帽子'},
   {"id":302,"name":'套装',"children":[
    {"id":3021,"name":"0-3岁"},
    {"id":3021,"name":"3-6岁"},
    {"id":3021,"name":"6-9岁"},
    {"id":3021,"name":"9-12岁"}
   ]},
   {"id":303,"name":'手套'}
  ]}
];
   
</script>
</head>
<body>
  <div id="category"></div>
 <script>
  //查找id为category的div保存在div中
   var div=document.getElementById("category");
  //定义函数createSelect,接收一个数组参数arr
  function createSelect(arr){
   //创建一个select
   var sel=document.createElement("select");
   //创建一个option,设置其内容为"-请选择-",值为-1,将option添加到select中
    sel.add(new Option("--请选择--",-1));
   //遍历arr
   for(var i=0;i<arr.length;i++){
    //创建一个option,设置内容为当前元素的name属性,设置value为当前元素的id属性,将新option添加到select中
    sel.add(new Option(arr[i].name,arr[i].id));   
   }//(遍历结束)
   //为sel绑定onchange事件
   sel.onchange=function(){
    //反复:只要当前select不是div的lastChild
    while(this!=div.lastChild)
     //让div删除其lastChild
      div.removeChild(div.lastChild);
    //获得当前选中项的下表-1,保存在i中
    var i=this.selectedIndex-1;
    //如果arr中i位置的商品类别有children
     if(i>=0&&arr[i].children!==undefined)
     //用arr中i位置的商品类别的children数组创建下一个select
     createSelect(arr[i].children);
    
   }
   //将select添加到div中
    div.appendChild(sel);
  }
  createSelect(categories);
 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript parseInt 大改造
Sep 27 Javascript
jQuery隔行变色与普通JS写法的对比
Apr 21 Javascript
JS获取地址栏参数的几种方法小结
Feb 28 Javascript
js实现九宫格图片半透明渐显特效的方法
Feb 16 Javascript
jqGrid表格应用之新增与删除数据附源码下载
Dec 02 Javascript
Window.Open打开窗体和if嵌套代码
Apr 15 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
Aug 25 Javascript
JS简单随机数生成方法
Sep 05 Javascript
Javascript中click与blur事件的顺序详析
Apr 25 Javascript
基于JQuery的Ajax方法使用详解
Aug 16 jQuery
使用electron将vue-cli项目打包成exe的方法
Sep 29 Javascript
vue下canvas裁剪图片实例讲解
Apr 16 Javascript
js实现按座位号抽奖
Apr 05 #Javascript
Angularjs 实现移动端在线测评效果(推荐)
Apr 05 #Javascript
微信小程序中的onLoad详解及简单实例
Apr 05 #Javascript
微信小程序 页面跳转如何实现传值
Apr 05 #Javascript
微信小程序 数据遍历的实现
Apr 05 #Javascript
微信小程序 图片绝对定位(背景图片)
Apr 05 #Javascript
JS实现复选框的全选和批量删除功能
Apr 05 #Javascript
You might like
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
javascript call方法使用说明
2010/01/11 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
Python最基本的输入输出详解
2015/04/25 Python
Python base64编码解码实例
2015/06/21 Python
学习python类方法与对象方法
2016/03/15 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
Python函数的参数常见分类与用法实例详解
2019/03/30 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
html如何对span设置宽度
2019/10/30 HTML / CSS
C#面试题问题集
2016/04/02 面试题
农民入党思想汇报
2014/01/03 职场文书
母亲七十大寿答谢词
2014/01/18 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
选秀节目策划方案
2014/06/06 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
简述Java中throw-throws异常抛出
2021/08/07 Java/Android