基于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 相关文章推荐
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
Oct 29 Javascript
删除select中所有option选项jquery代码
Aug 12 Javascript
Javascript中匿名函数的多种调用方式总结
Dec 06 Javascript
一个JavaScript递归实现反转数组字符串的实例
Oct 14 Javascript
javascript关于继承的用法汇总
Dec 20 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
浅析Ajax语法
Dec 05 Javascript
原生js编写基于面向对象的分页组件
Dec 05 Javascript
微信小程序使用wxParse解析html的方法教程
Jul 06 Javascript
JavaScript JMap类定义与使用方法示例
Jan 22 Javascript
详解ES6 export default 和 import语句中的解构赋值
May 28 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
Nov 10 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获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
如何使用php实现评委评分器
2015/07/31 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
js 目录列举函数
2008/11/06 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
python中lambda()的用法
2017/11/16 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
django框架F&amp;Q 聚合与分组操作示例
2019/12/12 Python
Python新手如何理解循环加载模块
2020/05/29 Python
关于python中导入文件到list的问题
2020/10/31 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
英国工具中心:UK Tool Centre
2017/07/10 全球购物
生物制药专业求职信
2014/03/11 职场文书
大学生社会实践方案
2014/05/11 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
法人代表证明书
2014/09/18 职场文书
个人整改措施书面材料
2014/10/24 职场文书
任命通知范文
2015/04/21 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
Django显示可视化图表的实践
2021/05/10 Python
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
分享几个简单MySQL优化小妙招
2022/03/31 MySQL