基于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 相关文章推荐
IE中jscript/javascript的条件编译
Sep 07 Javascript
用ASP将SQL搜索出来的内容导出为TXT的代码
Jul 27 Javascript
更换select下拉菜单背景样式的实现代码
Dec 20 Javascript
javascript操作JSON的要领总结
Dec 09 Javascript
js运动动画的八个知识点
Mar 12 Javascript
完美实现仿QQ空间评论回复特效
May 06 Javascript
JS+CSS实现表格高亮的方法
Aug 05 Javascript
javascript实现的猜数小游戏完整实例代码
May 10 Javascript
jquery插件锦集【推荐】
Dec 16 Javascript
解析vue data不可以使用箭头函数问题
Jul 03 Javascript
js根据后缀判断文件文件类型的代码
May 09 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
Aug 07 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
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python编程实现蚁群算法详解
2017/11/13 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
微信公众号token验证失败解决方案
2019/07/22 Python
Django中template for如何使用方法
2021/01/31 Python
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
CLR与IL分别是什么含义
2016/08/23 面试题
中间件分为哪几类
2012/03/14 面试题
高一地理教学反思
2014/01/18 职场文书
《梅兰芳学艺》教学反思
2014/02/24 职场文书
学历公证书范本
2014/04/09 职场文书
职业生涯规划书前言
2014/04/15 职场文书
大学生就业自荐书
2014/06/16 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
小学运动会通讯稿
2015/07/18 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
幼儿园中班教学反思
2016/03/03 职场文书