js实现二级菜单点击显示当前内容效果


Posted in Javascript onApril 28, 2018

最近做了一个二级菜单点击事件的效果,一级菜单有3个,二级菜单是固定的,而且html布局并不是父子级关系,具体请看效果图如下

js实现二级菜单点击显示当前内容效果

html结构入下

<div>
  <ul>
    <li>您好!日期</li>
    <li class="li_list checked grounder">滚球</li>
    <li class="li_list">今日赛事</li>
    <li class="li_list">早盘</li>
    <li><img src="../img/live_tv_m.gif" alt=""></li>
    <li>更改密码</li>
    <li>密码恢复</li>
  </ul>
  <ul id="allBall">
    <li>账户历史</li>
    <li>|</li>
    <li>交易状况</li>
    <li class="ball foot">足球</li>
    <li>|</li>
    <li class="ball basketball">篮球/美式足球</li>
    <li>|</li>
    <li class="ball tentis">网球</li>
    <li>|</li>
    <li class="ball ">排球</li>
    <li>|</li>
    <li class="ball badminton">羽毛球</li>
    <li>|</li>
    <li class="ball ping-pong">乒乓球</li>
    <li>|</li>
    <li class="ball base">棒球</li>
    <li>|</li>
    <li class="ball table">斯诺克/台球</li>
    <li>|</li>
    <li class="ball other">其他</li>
  </ul>
</div>
<div id="container_main">
    <div id="roll" class="A_list">
      <div style="display: block">
        <iframe src="../roll_ball_index.html" frameborder="0" style="width: 1500px;height: 1000px;" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes"></iframe>
      </div>
      <div></div> //div内写你所需要展现的内容
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
    </div>
    <div id="today" class="A_list">
      <div style="display: block"></div>
      <div></div>
      <div> </div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
    </div>
    <div id="earlier" class="A_list">
      <div style="display: block"></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
    </div>
  </div>

css样式我这里就不一一罗列了,根据你自己页面需求自己设计

下面是重要内容js

function allGame() {
  var lis = document.querySelectorAll('.li_list'); //获取三大玩法按钮
  var A_list = document.getElementsByClassName('A_list');//获取三大赛事
  var ball = document.getElementsByClassName("ball"); //获取球类赛事
  for(var i=0;i<lis.length;i++){ //首先边框一级菜单
    lis[i].index = i; //获取三大玩法的下标
    lis[i].onclick = function () { //一级菜单的点击事件
      for( var i=0;i<lis.length;i++){  
        lis[i].className = '';
        A_list[i].style.display="none";
      }
      this.className='checked';
      A_list[this.index].style.display="block"; //for循环利用排他思想显示当前点击的选项 
      var x = this.index; //重点:第一次点击的时候获取到的下标保存一个变量x
      var a_list = document.getElementsByClassName('A_list')[x]; //利用下标获取A_list[x]
      var aa_list = a_list.getElementsByTagName("div");//根据上一步获取相应 的子级div
      for(var j=0;j<ball.length;j++){ //进行二级菜单遍历
        ball[j].indexa = j;
        ball[j].onclick = function () { //同样的遍历 同样的排他思想
          for(var a=0;a<aa_list.length;a++){
            aa_list[a].style.display = "none"; //所有的div都隐藏
          }
          aa_list[this.indexa].style.display="block"; // 当前的显示
        }
      }
    }
  }
}
allGame();

这是一个简单的案例,小生入行不久,有什么不妥的地方欢迎大家指教。

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

Javascript 相关文章推荐
IE6浏览器下resize事件被执行了多次解决方法
Dec 11 Javascript
JavaScript实现的日期控件具体代码
Nov 18 Javascript
js购物车实现思路及代码(个人感觉不错)
Dec 23 Javascript
在Firefox下js select标签点击无法弹出
Mar 06 Javascript
jQuery中wrapInner()方法用法实例
Jan 16 Javascript
基本DOM节点操作
Jan 17 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
Mar 25 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
Oct 23 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
Jul 26 Javascript
原生JS 实现的input输入时表格过滤操作示例
Aug 03 Javascript
js实现简单的贪吃蛇游戏
Apr 23 Javascript
Rust中的Struct使用示例详解
Aug 14 Javascript
Vue实现点击时间获取时间段查询功能
Aug 21 #Javascript
vue组件实现弹出框点击显示隐藏效果
Oct 26 #Javascript
vue.extend实现alert模态框弹窗组件
Apr 28 #Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 #Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
Apr 28 #Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 #Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
Apr 27 #Javascript
You might like
php 获取可变函数参数的函数
2009/08/26 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
Prototype 工具函数 学习
2009/07/23 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
js定时器实例分享
2016/12/20 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
js实现随机8位验证码
2020/07/24 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
python django集成cas验证系统
2014/07/14 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
Linux下python制作名片示例
2018/07/20 Python
Django 自动生成api接口文档教程
2019/11/19 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
Python configparser模块常用方法解析
2020/05/22 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
某公司.Net方向面试题
2014/04/24 面试题
Exception类的常用方法
2012/06/16 面试题
竞赛口号大全
2014/06/16 职场文书
2014年政工师工作总结
2014/12/18 职场文书
先进个人申报材料
2014/12/30 职场文书
办公室管理规章制度
2015/08/04 职场文书
七年级作文之冬景
2019/11/07 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
html form表单基础入门案例讲解
2021/07/15 HTML / CSS