基于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 相关文章推荐
对YUI扩展的Gird组件 Part-2
Mar 10 Javascript
用javascript实现画板的代码
Sep 05 Javascript
Javascript valueOf 使用方法
Dec 28 Javascript
JavaScript 在线压缩和格式化收藏
Jan 16 Javascript
基于jquery的bankInput银行卡账号格式化
Aug 22 Javascript
正则表达式搭配js轻松处理json文本方便而老古
Feb 17 Javascript
jQuery事件绑定与解除绑定实现方法
Apr 15 Javascript
JavaScript DOM节点操作方法总结
Aug 23 Javascript
jQuery实现鼠标经过显示动画边框特效
Mar 24 jQuery
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
JavaScript执行环境及作用域链实例分析
Aug 01 Javascript
Vue学习之常用指令实例详解
Jan 06 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
php关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
js location.replace与location.reload的区别
2010/09/08 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
2018/02/05 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
python删除过期文件的方法
2015/05/29 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
python如何判断IP地址合法性
2020/04/05 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
应届生财务管理求职信
2013/11/06 职场文书
机械电子工程毕业生自荐信
2013/11/23 职场文书
国庆横幅标语
2014/10/08 职场文书
2015小学师德工作总结
2015/07/21 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
js 数组 fill() 填充方法
2021/11/02 Javascript
sql注入报错之注入原理实例解析
2022/06/10 MySQL