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 相关文章推荐
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
Aug 09 Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
Nov 17 Javascript
node+express+ejs制作简单页面上手指南
Nov 26 Javascript
js简单实现点击左右运动的方法
Apr 10 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
Nov 17 Javascript
ES6的新特性概览
Mar 10 Javascript
JavaScript实现图片无缝滚动效果
Jul 07 Javascript
js Dom实现换肤效果
Oct 21 Javascript
使用store来优化React组件的方法
Oct 23 Javascript
javascript实现考勤日历功能
Nov 29 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 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
一个用php3编写的简单计数器
2006/10/09 PHP
php+mysql 实现身份验证代码
2010/03/24 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
PHP进程同步代码实例
2015/02/12 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
做网页的一些技巧
2007/02/01 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
React学习之JSX与react事件实例分析
2020/01/06 Javascript
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
python使用mysql数据库示例代码
2017/05/21 Python
Python实现图片转字符画的示例
2017/08/22 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
Python设计模式之门面模式简单示例
2018/01/09 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
介绍一下linux的文件权限
2012/02/15 面试题
Linux如何修改文件和文件夹的权限
2013/09/05 面试题
金融行业务员的自我评价
2013/12/13 职场文书
机关节能减排实施方案
2014/03/17 职场文书
村干部培训方案
2014/05/02 职场文书