js 选项卡实现
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
#div2 div{
width:500px;
height:300px;
background:#999;
border:1px solid black;
display:none;
}
#div1 input{
width:50px;
height:30px;
border:none;
}
.bgcolor{
background:blue;
}
</style>
<script>
window.onload=function()//执行JS之前,要保证默认(第一个)按钮有class属性,并且按钮对应选显卡的display属性为block
{
var oDiv=document.getElementById('div1');
var aBtn=oDiv.getElementsByTagName('input');//提取按钮的数组
var oDiv1=document.getElementById('div2');
var aDiv=oDiv1.getElementsByTagName('div');//提取选项卡的数组
for(var i=0;i<aBtn.length;i++)//外层循环用来给每个按钮添加事件
{
aBtn[i].onclick=function()//添加事件
{
for(var i=0;i<aBtn.length;i++)//内层循环
{
aBtn[i].index=i;//给数组添加序列号
aBtn[i].className='';//在执行事件之前将所有input的class属性清空
aDiv[i].style.display='none';//在执行事件之前将所有选项卡的display属性改为none
}
this.className='bgcolor';//清空完之后,让this(当前发生事件的按钮)的class属性重新定义
aDiv[this.index].style.display='block';///清空完之后,让发生事件所对应按钮的选项卡display属性定义为block
}
}
}
</script>
</head>
<body>
<div id="div1">
<input class="bgcolor" type="button" value="新闻"/>
<input type="button" value="体育"/>
<input type="button" value="财经"/>
<input type="button" value="军事"/>
</div>
<div id="div2">
<div style="display:block;">新闻啊新闻,好新啊好新</div>
<div>体育啊体育,好体啊好体</div>
<div>财经啊财经,好财啊好财</div>
<div>军事啊军事,好军啊好军</div>
</div>
</body>
js 选项卡实现的更多相关文章
- js 选项卡制作
知识回顾,制作JS选项卡,仅供参考 html代码: <!DOCTYPE html> <html lang="en"> <head> <me ...
- 慕课编程题JS选项卡切换
Javascript进阶篇的最后一节是一个选项卡切换的编程,要求效果如下. 这里涉及到两块,一个是内容的切换显示,一个是红色的边框样式切换. 内容切换可以用纯js代码实现,但当这里还需设置一个红色边框 ...
- 原生JS 选项卡代码实现
可实现同页面多个选项卡 效果图: 代码实现: HTML部分 <div class="main" id="tabs"> <div class=& ...
- js选项卡切换效果
选项卡切换在页面中比较常见,这里是我利用js闭包还有setTimeout定时器实现的一个比较实用的选项卡功能. <!DOCTYPE html> <html lang="en ...
- js 选项卡
<html><head lang="en"> <meta charset="UTF-8"> <title>Tab ...
- js选项卡
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- html锚点的作用和js选项卡锚点跳转的使用
location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url.而location. ...
- 原生js选项卡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 选项卡封装
function tab(input,div){ for(var i = 0; i < input.length; i++){ input[i].index = i; input[i].oncl ...
随机推荐
- [cocos2dx]2.2到3.1(3.0)升级帮助
摘要: cocos2dx 是一款优秀的多平台,专为2D游戏设计的引擎. 在活跃的开源社区的推进下, 越发稳定和强大. 2.x -> 3.x的更新幅度很大, 性能的提升和功能的丰富也非常明显. 但 ...
- [转载]ExtJs4 笔记(3) Ext.Ajax 对ajax的支持
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/) 本篇主要介绍一下ExtJs常用的几个对JS语法的扩展支持,包括Ajax封装,函数事 ...
- hdu-5927 Auxiliary Set(树形dp)
题目链接: Auxiliary Set Time Limit: 9000/4500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- UESTC 32 树上战争(Battle on the tree)
这题其实很简单,每个人肯定都往上走,才能保证尽快赢,所以无非是看谁离根节点近,即深度小..用并查集中的findset思想,不断找父节点一直到根节点来找深度就可以了. 代码: #include < ...
- SSO - 我们为何需要单点登录系统
SSO,Single Sign On,也就是单点登录,保证一个账户在多个系统上实现单一用户的登录 现在随着网站的壮大,很多服务会进行拆分,会做SOA服务,会使用dubbo做微服务,或者简单的小型分布式 ...
- Linux安装、卸载软件
在linux环境中,尤其是cenos中安装过一些软件,一般是二进制安装与源码安装,现小结一下linux中的安装与卸载. 一.通常Linux应用软件的安装包有三种: 1) tar包,如software- ...
- 关于SVN版本分支合并的知识
分支的合并类型 合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突,然后提交到服务器的相应目录里.如果当前工作副本是主干,则合并的范围是分支上的改动, ...
- emberjs重写补充类之reopen方法和reopenClass方法
无需一次性将类定义完全,你可以使用reopen方法来重新打开(reopen)一个类并为其定义新的属性. Person.reopen({ isPerson: true }); Person.create ...
- 谁可以说出HashMap和HashSet的相同点和不同点。
谁可以说出HashMap和HashSet的相同点和不同点. 2011-11-15 20:46ruoshui_t | 浏览 20310 次 Perl 2011-11-15 21:17 #知道行家专业创 ...
- windows phone 8.0 app 移植到windows10 app 页面类
phone:PhoneApplicationPage 全部替换为Page phone:WebBrowser 全部替换为 WebView IsScriptEnabl ...