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 相关文章推荐
Javascript 按位与运算符 (&amp;)使用介绍
Feb 04 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
Feb 28 Javascript
javascript实现画不相交的圆
Apr 07 Javascript
jquery实现简单的自动播放幻灯片效果
Jun 13 Javascript
canvas轨迹回放功能实现
Dec 20 Javascript
详解ECMAScript typeof用法
Jul 25 Javascript
JS中数据结构之栈
Jan 01 Javascript
vue分页器组件编写方法详解
Jun 28 Javascript
vue.js 2.0实现简单分页效果
Jul 29 Javascript
Vue通过provide inject实现组件通信
Sep 03 Javascript
vue keep-alive的简单总结
Jan 25 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
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
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
Vue.js划分组件的方法
2017/10/29 Javascript
vue组件三大核心概念图文详解
2019/05/30 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
Python while 循环使用的简单实例
2016/06/08 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
美国户外生活方式品牌:Eddie Bauer
2016/12/28 全球购物
化妆品店促销方案
2014/02/24 职场文书
职员竞岗演讲稿
2014/05/14 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
银行求职自荐信范文
2015/03/04 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
大学生暑期实践报告
2015/07/13 职场文书