基于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中的startWith和endWith的几种实现方法
May 07 Javascript
js的alert弹出框出现乱码解决方案
Sep 02 Javascript
JQuery实现的按钮倒计时效果
Dec 23 Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
Jan 23 Javascript
node.js的事件机制
Feb 08 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
Jun 13 Javascript
Vue应用部署到服务器的正确方式
Jul 15 Javascript
js原生实现移动端手指滑动轮播图效果的示例
Jan 02 Javascript
Angular父组件调用子组件的方法
Apr 02 Javascript
Vue核心概念Getter的使用方法
Jan 18 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 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
APMServ使用说明
2006/10/23 PHP
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
php 获取可变函数参数的函数
2009/08/26 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
js停止输出代码
2008/07/20 Javascript
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
jQuery实现监控页面所有ajax请求的方法
2015/12/10 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
js验证账户名是否重复
2020/05/26 Javascript
新手该如何学python怎么学好python?
2008/10/07 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
怎么样写好简历中的自我评价
2013/10/25 职场文书
求职信模板怎么做
2014/01/26 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
专家推荐信怎么写
2015/03/25 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
golang 实现并发求和
2021/05/08 Golang