基于JavaScript实现选项卡效果


Posted in Javascript onJuly 21, 2017

一个简单的选项卡的关键在于:当切换页面时,如何让所选的选项和与其对应的内容同时出现,并且在选择其他的内容时,不影响新的内容的显示。

其中用到两个很关键的思想:

1.为对象增加index属性,并通过this对index 的调用来使每个选项能显示出所对应的内容,并且属性值要设置为循环时的数值-i。
2.通过对class(类)的灵活使用,来改变当先所选中目标的样式。
3、用for循环嵌套事件对每一项进行遍历。
4、在编译时,位于body中的div和input要有预先定义的行内样式或者信息。
5、button和div.style.display要同时清零,同时出现才能达到选项卡的目的。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>选项卡</title>
  <style type="text/css"> 
    #div1 .active{
      background: red;
      color: white;
    }
    #div1 div{
      width: 237px;
      height:150px;
      background:#CCC;
      display: none;
    }

  </style>
  <script type="text/javascript">
    window.onload=function(){
      var oDiv = document.getElementById('div1');
      var btn = oDiv.getElementsByTagName('input');
      var aDiv = oDiv.getElementsByTagName('div');

      for (var i = 0; i < btn.length; i++) {
        btn[i].index=i;
        //给btn增加一个index的属性
        btn[i].onmouseover = function(){
          for (var i = 0; i < btn.length; i++) {
            btn[i].className = '';
            aDiv[i].style.display = 'none';
          }
          this.className = 'active';

          aDiv[this.index].style.display = 'block';

          //调用index属性
        }
      }
    };
  </script>
</head>
<body>
  <div id="div1">
    <input type="button" value="首页" class="active">
    <input type="button" value="菜单">
    <input type="button" value="帮助">
    <input type="button" value="联系">
    <input type="button" value="赞助">
    <div style="display: block;">这是首页</div>
    <div>这是菜单</div>
    <div>这是帮助</div>
    <div>这是联系</div>
    <div>这是赞助</div>
  </div>
</body>
</html>

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

Javascript 相关文章推荐
来自国外的14个图片放大编辑的jQuery插件整理
Oct 20 Javascript
批量修改标签css样式以input标签为例
Jul 31 Javascript
基于jQuery仿淘宝产品图片放大镜特效
Oct 19 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
详解jQuery中关于Ajax的几个常用的函数
Jul 17 jQuery
javascript input输入框模糊提示功能的实现
Sep 25 Javascript
Angular实现搜索框及价格上下限功能
Jan 19 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
Sep 16 Javascript
脚手架vue-cli工程webpack的基本用法详解
Sep 29 Javascript
js根据json数据中的某一个属性来给数据分组的方法
Oct 08 Javascript
在vscode 中设置 vue模板内容的方法
Sep 02 Javascript
基于JavaScript实现弹幕特效
Aug 27 #Javascript
js实现水平滚动菜单导航
Jul 21 #Javascript
修改 bootstrap table 默认detailRow样式的实例代码
Jul 21 #Javascript
JavaScript实现购物车基本功能
Jul 21 #Javascript
解决html input验证只能输入数字,不能输入其他的问题
Jul 21 #Javascript
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 #jQuery
基于input框覆盖掉数字英文的实例讲解
Jul 21 #Javascript
You might like
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
php mysql索引问题
2008/06/07 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
php中JSON的使用与转换
2015/01/14 PHP
php实现删除空目录的方法
2015/03/16 PHP
实例讲解PHP表单
2020/06/10 PHP
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
node.js require() 源码解读
2015/12/13 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
python根据多个文件名批量查找文件
2019/08/13 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
python 有效的括号的实现代码示例
2019/11/11 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
毕业生医学检验求职信
2013/10/16 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
股指期货心得体会
2014/09/13 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书