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 相关文章推荐
限制textbox或textarea输入字符长度的JS代码
Oct 16 Javascript
js简单的弹出框有关闭按钮
May 05 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
Aug 06 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
Aug 21 Javascript
js图片轮播手动切换效果
Nov 10 Javascript
jQuery实现图片加载完成后改变图片大小的方法
Mar 29 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
web前端vue实现插值文本和输出原始html
Jan 19 Javascript
vue-cli3环境变量与分环境打包的方法示例
Feb 18 Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 Javascript
vue+element-ui+axios实现图片上传
Aug 20 Javascript
解决Vue调用springboot接口403跨域问题
Sep 02 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+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
ExtJs中简单的登录界面制作方法
2010/08/19 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
学习vue.js计算属性
2016/12/03 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
python实现的文件同步服务器实例
2015/06/02 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
Django框架视图函数设计示例
2019/07/29 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
Pytorch释放显存占用方式
2020/01/13 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
如何在Win10系统使用Python3连接Hive
2020/10/15 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
自主实习接收函
2014/01/13 职场文书
销售简历自我评价
2014/01/24 职场文书
微观物理专业自荐信
2014/01/26 职场文书
公司开业庆典主持词
2014/03/21 职场文书
初中班主任寄语
2014/04/04 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
师德师风剖析材料
2014/09/30 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
会议通知
2015/04/15 职场文书