基于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 Date对象使用总结
May 14 Javascript
jquery 表单取值常用代码
Dec 22 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
Mar 28 Javascript
用js的document.write输出的广告无阻塞加载的方法
Jun 05 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
Feb 15 Javascript
js实现分页功能
May 24 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 Javascript
React Native 截屏组件的示例代码
Dec 06 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
Dec 14 Javascript
详解微信小程序审核不通过的解决方法
Jan 17 Javascript
Vue.set 全局操作简单示例
Sep 19 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 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应用技巧
2008/03/27 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
angular-tree-component的使用详解
2018/07/30 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
Python画图高斯分布的示例
2019/07/10 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
python 对xml解析的示例
2021/02/27 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
俄罗斯品牌服装和鞋子在线商店:BRIONITY
2020/03/26 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
初三政治教学反思
2014/01/30 职场文书
生态养殖创业计划书
2014/05/06 职场文书
2014年党委工作总结
2014/11/22 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
教你用python实现12306余票查询
2021/06/30 Python
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript