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 相关文章推荐
通过Unicode转义序列来加密,按你说的可以算是混淆吧
May 06 Javascript
使用EXT实现无刷新动态调用股票信息
Nov 01 Javascript
几个比较实用的JavaScript 测试及效验工具
Apr 18 Javascript
基于jQuery实现点击同时更改两个iframe的网址
Jul 01 Javascript
鼠标拖动实现DIV排序示例代码
Oct 14 Javascript
JS实现的最简Table选项卡效果
Oct 14 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 Javascript
解决vue多个路由共用一个页面的问题
Mar 12 Javascript
Vue 重置组件到初始状态的方法示例
Oct 10 Javascript
Node.js 如何利用异步提升任务处理速度
Jan 07 Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 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
介绍几个array库的新函数 php
2006/12/29 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
Vue Autocomplete 自动完成功能简单示例
2019/05/25 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
django用户注册、登录、注销和用户扩展的示例
2018/03/19 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
最小二乘法及其python实现详解
2020/02/24 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
太阳镜仓库,售价20美元或更少:Sunglass Warehouse
2016/09/28 全球购物
英语专业学生的自我评价
2013/12/30 职场文书
结婚喜宴家长答谢词
2014/01/15 职场文书
入党自我鉴定
2014/03/25 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
委托证明模板
2014/09/16 职场文书
报名委托书
2015/01/29 职场文书
办公室主任岗位竞聘书
2015/09/15 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
pycharm无法安装cv2模块问题
2022/05/20 Python
设置IIS Express并发数
2022/07/07 Servers