基于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 相关文章推荐
JavaScript 脚本将当地时间转换成其它时区
Mar 19 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
Feb 16 Javascript
js确认删除对话框效果的示例代码
Feb 20 Javascript
node.js中的querystring.unescape方法使用说明
Dec 10 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 Javascript
bootstrap输入框组代码分享
Jun 07 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
Apr 28 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 Javascript
vue+element UI实现树形表格带复选框的示例代码
Apr 16 Javascript
微信小程序 网络通信实现详解
Jul 23 Javascript
使用js获取身份证年龄的示例代码
Dec 11 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中使用PDF文档功能
2006/10/09 PHP
PHP程序员编程注意事项
2008/04/10 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
Python实现拼接多张图片的方法
2014/12/01 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
使用python实现对元素的长截图功能
2019/11/14 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
实习护士自我鉴定
2013/10/13 职场文书
大学生秋游活动方案
2014/02/17 职场文书
户外活动策划方案
2014/03/12 职场文书
工厂搬迁方案
2014/05/11 职场文书
献爱心标语
2014/06/21 职场文书
公司职员入党自传书
2015/06/26 职场文书
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL