方法一:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>选项卡1</title>
<style>
#div1 div {
width: 200px;
height: 200px;
background-color: #ccc;
border: 1px solid pink;
display: none; //默认不显示DIV
} #div1 .active {
background-color: greenyellow;
}
</style>
<script>
window.onload = function () {
var oDiv = document.getElementById('div1');
var aBtn = oDiv.getElementsByTagName('input');
var aDiv = oDiv.getElementsByTagName('div'); for(i=0;i<aBtn.length;i++){
aBtn[i].index = i; //给按钮自定义一个index属性,用于改变DIV
aBtn[i].onclick = function () {
for(i=0;i<aBtn.length;i++){
aBtn[i].className = ''; //点击当前按钮时,取消对上一个按钮的设置
aDiv[i].style.display = 'none'; //点击当前按钮时,取消对上一个按钮对应的DIV的设置
}
this.className = 'active'; //点击按钮时,背景颜色改变
aDiv[this.index].style.display = 'block';
}
} }
</script>
</head>
<body>
<div id="div1">
<input class="active" type="button" value="教育"/>
<input type="button" value="培训"/>
<input type="button" value="招生"/>
<input type="button" value="出国"/>
<div style="display: block;">1234</div>
<div>2345</div>
<div>3456</div>
<div>4567</div>
</div>
</body>
</html>

方法二:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>选项卡2</title> <style> #div1 div{height:200px; width:200px; border:1px solid purple}
#div1 .active{background-color: olivedrab;}
</style>
<script>
window.onload = function () {
var arr = [1234,"abcd","fsafa","fabf"]; //以数组的方式列出Div里面的内容
var aDiv = document.getElementById('div1');
var aBtn = aDiv.getElementsByTagName('input');
var oDiv = aDiv.getElementsByTagName('div')[0]; //获取选项卡内容区域第一个Div for (var i = 0; i < aBtn.length; i++) {
aBtn[i].index = i; //给Div自定义的一个索引属性
aBtn[i].onclick = function () {
for (var i = 0; i < aBtn.length; i++) {
aBtn[i].className = ''; //清空上一步选项卡标签项的设置
}
this.className = 'active'; //点击时启用active类属性设置
oDiv.innerHTML = arr[this.index]; //将数组元素赋给Div
oDiv.style.display = 'block'; //显示Div内容
}
}
}
</script>
</head>
<body>
<div id="div1">
<input class="active" type="button" value="教育"/>
<input type="button" value="培训"/>
<input type="button" value="招生"/>
<input type="button" value="出国"/>
<br/><br/>
<div style="display: block;">1234</div> </div>
</body>
</html>

JavaScript写选项卡的更多相关文章

  1. [前端] html+css+javascript 实现选项卡切换效果

    用html+css+js实现选项卡切换效果使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材:房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安 ...

  2. 用javascript 写个函数返回一个页面里共使用了多少种HTML 标签

    今天我无意间看到一个面试题: 如何用javascript 写个函数返回一个页面里共使用了多少种HTML 标签? 不知你看到 是否蒙B了,如果是我 面试,肯定脑子嗡嗡的响.... 网上搜了搜也没有找到答 ...

  3. JavaScript写在Html页面的<head></head>中

    JavaScript写在Html页面的<head></head>中 ----------------- <html> <head> <style ...

  4. JavaScript写一个连连看的游戏

    天天看到别人玩连连看, 表示没有认真玩过, 不就把两个一样的图片连接在一起么, 我自己写一个都可以呢. 使用Javascript写了一个, 托管到github, 在线DEMO地址查看:打开 最终的效果 ...

  5. javascript写在<head>和<body>里的区别

    Javascript写在哪里?概括起来就是三种形式:1. 内部:Html网页的<body></body>中:2. 内部:Html网页的<head></head ...

  6. 原生javascript写的侧栏跟随效果

    浏览网站时经常看到有的网站上,当一个页面很长的时候,设定侧栏内容会跟随滚动条滚动,我们把这种效果叫做“侧栏跟随滚动”.这种特效对提高网站浏览量.文章点击率.广告点击量都有一定效果. 侧栏跟随滚动的实现 ...

  7. javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

    javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(" ...

  8. 用JavaScript写一个区块链

    几乎每个人都听说过像比特币和以太币这样的加密货币,但是只有极少数人懂得隐藏在它们背后的技术.在这篇博客中,我将会用JavaScript来创建一个简单的区块链来演示它们的内部究竟是如何工作的.我将会称之 ...

  9. 怎么分别javascript写在<head>里还是<body>里面?

    怎么分别javascript写在<head>里还是<body>里面? 具体哪些语句写在<body>里,哪些语句写在<head>里 满意答案 BeginN ...

随机推荐

  1. PHP apache2.2 mysql 的安装

    1.安装准备 我的系统为win7 旗舰版 php:http://windows.php.net/downloads/releases/php-5.3.6-Win32-VC9-x86.zip mysql ...

  2. window.onload与$.ready的差别

    在做图书管理系统的时候.实用到window.onload(){}方法.可是遇到了一个问题.就是怎么都不运行,究竟是为什么呢?愁了半天.后来经师姐指点改用了$.ready(){}. 在我的浅浅的了解中觉 ...

  3. BootStrap 的随笔一二三

    正在学习中待补充 ..为自己日后查看留存,不喜误看 特别鸣谢,小霖,小涛,小海... Bootstrap总结 可实现的页面效果 导航.格栅分为12份,焦点图,按钮,响应式,下拉按钮,选项卡等 boot ...

  4. 认清Linux中标准输入和标准输出的双重含义

    按照惯例,UNIX系统shell使用文件描述符0与进程的标准输入(一般是键盘)相关联,文件描述符1与标准输出(一般是显示器)相关联,文件描述符2与标准出错输出(一般是显示器)相关联. 在依从POSIX ...

  5. mysql 历史记录查询

    SHOW SLAVE STATUS insert into jy510_admin set userid='123123' mysqlbinlog d:xampp\mysql\data\mysql-b ...

  6. jquery ajax请求了两次问题

    页面有一个请求form: <form method="post" id="signin"> <label for="orderid& ...

  7. InAction-编译hadoop2.5.2

    1.环境 2.JDK ... 3.工具 1)下载maven解压加入环境变量 2)安装编译工具 yum install make cmake zlib-devel openssl-devel gcc g ...

  8. VSS 之 未知的用户名或密码错误

    原因:导致这种现象的原因并不是真的用户名和密码错误,而是验证失败.验证失败也自然就会提示成用户名或密码错误了,只需要做以下更改就能正常验证用户名和密码了.解决方案:运行 组策略编辑器 gpedit.m ...

  9. 1.4.10 Schemaless模式

    Schemaless模式 schemaless模式是一组solr功能的集合,允许用户通过简单的索引例子数据快速构建一个有效的schema,而不需要手动的编辑schema.这些solr功能都是在solr ...

  10. C++模拟Java“内部”类

    代码思路来自Thinking in C++ 10.13.1内部类方法.类似多重继承,但是类型转换是单向的:Outer支持“向上”转型,但是不能“向下”转型回Outer. #include <io ...