用js枚举实现简易菜单效果
来源:互联网 发布:java聊天室源码详解 编辑:程序博客网 时间:2024/05/01 14:14
用js枚举实现简易菜单效果,左侧显示菜单,右侧显示用户选择的菜单,一图胜千言,还是直接来张效果图吧:
以下是代码:
<DOCTYPE html><html><head> <title></title> <style> body{ color:#333; font-size:12px; } div{ width: 300px; margin: 0 auto; } ul{ width: 80px; height:200px; background: #ccc; list-style:none; float: left; margin: 10px; } li{ width: 60px; height:20px; margin:4px; background: orange; line-height: 20px; text-align: center; cursor:pointer; } li:hover{ background:#EE9A00 } </style> <script> window.onload=function(){ var oli=document.getElementById('fa').getElementsByTagName('li'); var newul=document.getElementById('so'); var newli=newul.getElementsByTagName('li'); for(var i=0;i<oli.length;i++) { oli[i].onclick=function(){ if(selectfn(this.innerHTML)) //倘若该菜没有被选中,那么添加到用户菜单 { var createli=document.createElement('li'); createli.innerHTML=this.innerHTML;//改代码放在appendchild之前能提高性能 newul.appendChild(createli); //向用户菜单中加入该节点 } }; } function selectfn(text){ //核心函数 var result=true; for(var i=0;i<newli.length;i++) //遍历用户菜单,与当前菜单做对比,判断是否已经选中 { if(newli[i].innerHTML==text) //若对比成功说明已经选中该菜 { alert('您已选取:'+newli[i].innerHTML); return false; } } return true; } } </script></head><body> <div> <ul id="fa"> <h3>菜单:</h3> <li>鱼香肉丝</li> <li>火爆肥牛</li> <li>水煮肉片</li> <li>麻辣乌鱼</li> <li>五香鸭珍</li> <li>红油牛肚</li> </ul> <ul id="so"> <h3>您的选择:</h3> </ul> </div> </body></html>
其核心原理就是:点击<li>标签时,用该标签的innerHTML与用户菜单<li>标签的innerHTML循环对比匹配,若没有匹配则说明该标签没有被点击过,那就在用户菜单里添加,若对比成功,说明用户菜单已经有该标签,也就是说已经选择了该菜,那就不再往用户里添加,弹出“已经选择该菜”提示框。
0 0
- 用js枚举实现简易菜单效果
- js实现树形菜单效果
- js实现导航菜单效果
- JS实现简易网页右键菜单
- 用JS实现一个TreeMenu树形菜单效果
- 手写简易JS菜单
- 简易菜单 js
- 简易JS菜单导航
- 使用js实现OICQ菜单效果
- 【转载】JS实现弹性菜单效果
- js实现下拉菜单动画效果
- js,jq,css多方面实现简易下拉菜单
- html+css+js实现的简易下拉菜单
- 简易菜单的实现
- 用js实现简易计算器
- js菜单效果
- js菜单效果
- JS+CSS简易Tab效果
- 树
- chromium gpu 硬件加速 compositing
- 点滴起步—B/S总结
- Boost库的Windows下安装
- BestCoder Round #18 or HDU 5104
- 用js枚举实现简易菜单效果
- Unity学习一
- 第11周项目2.1 求两个数的最大公约数
- 调用域名注册api,查询所有域名组合脚本
- AVL树 Java实现
- 第12周项目1 阅读程序(静态变量、递归函数、默认参数、函数模板等)
- Unity碰撞盒光源声效及树木制作
- Hibernate框架(二)POJO对象的操作
- leetcode Combinations