基于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 相关文章推荐
清除div下面的所有标签的方法
Feb 17 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 Javascript
jquery实现通用的内容渐显Tab选项卡效果
Sep 07 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
Sep 22 Javascript
jQuery树形控件zTree使用小结
Aug 02 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
Sep 08 Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
layui实现给某一列加点击事件
Oct 26 Javascript
详解ES6 扩展运算符的使用与注意事项
Nov 12 Javascript
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
基于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代码运行时间查看类代码分享
2011/08/06 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
jQuery代码优化 选择符篇
2011/11/01 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
改变状态栏文字的js代码
2014/06/13 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
jquery模拟alert的弹窗插件
2015/07/31 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
python对DICOM图像的读取方法详解
2017/07/17 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
Python正则表达式和元字符详解
2018/11/29 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
管事部库房保管员岗位职责
2014/02/21 职场文书
单位授权委托书范文
2014/08/02 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
龙门石窟导游词
2015/02/02 职场文书
元旦主持词开场白
2015/05/29 职场文书
值班管理制度范本
2015/08/06 职场文书
Python何绘制带有背景色块的折线图
2022/04/23 Python