js实现的tab选项卡功能

js实现的tab选项卡功能:
选项卡功能在各种网站有各种形式的应用和,当时实现选项卡功能的方式也有多种多样,下面就简单介绍一下使用js实现选项卡功能的一种方式,在美观方面就不去精雕细刻了,只介绍js实现此功能的原理。代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>tab选项卡的实现</title>
<style type="text/css">
*{
  padding:0px;
  margin:0px;
}
#tabs{
  width:250px;
  height:20px;
  border-bottom:3px solid red;
  list-style:none;
}
#tabs li{
  width:50px;
  height:20px;
  float:left;
  margin-left:5px;
  font-size:12px;
  line-height:25px;
  background-color:#999;
  cursor:pointer;
}
#tabs .selected{
  background-color:red;
}
#tabsContent div{
  width:248px;
  border:1px solid black;
  border-top:none;
  height:50px;
  display:none;
}
#tabsContent .selected{
  display:block;
}
</style>
</head>
<body style="margin:100px;">
  <div>
    <ul id="tabs">
     <li class="selected">选项卡一</li>
     <li>选项卡二</li>
     <li>选项卡三</li>
    </ul>
    <div id="tabsContent">
       <div class="selected">内容一</div>
       <div>内容二</div>
       <div>内容三</div>
    </div>
  </div>
</body>
</html>

以上代码是选项卡的静态实现,基本结构就是在默认状态第一个选项卡与其他的选项卡具有不同的背景色,说明它处于被选中状态。选项卡的内容部分,其他两个都被设置为display:none,第一个被设置为显示状态,以此与第一个选项卡对应。下面是js代码实现:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>tab选项卡的实现</title>
<style type="text/css">
*{
  padding:0px;
  margin:0px;
}
#tabs{
  width:250px;
  height:20px;
  border-bottom:3px solid red;
  list-style:none;
}
#tabs li{
  width:50px;
  height:20px;
  float:left;
  margin-left:5px;
  font-size:12px;
  line-height:25px;
  background-color:#999;
  cursor:pointer;
}
#tabs .selected{
  background-color:red;
}
#tabsContent div{
  width:248px;
  border:1px solid black;
  border-top:none;
  height:50px;
  display:none;
}
#tabsContent .selected{
  display:block;
}
</style>
<script type="text/javascript">
window.onload=function(){
  var tabs=document.getElementById("tabs").getElementsByTagName("li");
  var tabsContent=document.getElementById("tabsContent").getElementsByTagName("div");
  for(i=0;i<tabs.length;i++){
     tabs[i].value=i;
     tabs[i].onclick=function(){
        changeTabs(this.value);
     }
  }
  function changeTabs(tabsValue){
     for(var y=0;y<tabs.length;y++){
        tabs[y].className=" ";
        tabsContent[y].className=" ";
      }
      tabs[tabsValue].className="selected";
      tabsContent[tabsValue].className="selected";
  }
}
</script>
</head>
<body style="margin:100px;">
  <div>
    <ul id="tabs">
     <li class="selected">选项卡一</li>
     <li>选项卡二</li>
     <li>选项卡三</li>
    </ul>
    <div id="tabsContent">
       <div class="selected">内容一</div>
       <div>内容二</div>
       <div>内容三</div>
    </div>
  </div>
</body>
</html>

以上代码实现了简单的选项卡功能,下面简单介绍一下js代码是如何控制选项卡的切换功能:
一.tabs=document.getElementById("tabs").getElementsByTagName("li")用来获取选li元素选项卡的集合。
    tabsContent=document.getElementById("tabsContent").getElementsByTagName("div")用来获取选项卡内容的集合。
二.第一个for循环可以为选项卡绑定点击事件处理函数,也就是当鼠标点击li元素的时候就会调用此函数,此事件处理函数又调用changeTabs()函数,并且为此函数传一个参数,此参数为当前点击的li元素的值。
需要注意的是,此参数值恰好对应选项卡元素的索引值。
三.changeTabs()函数首先使用for循环将之前选中的选项卡中的CSS类清空,也就是背景颜色不再是红色,之前相应被选中的选项卡内容的CSS类清空,也就是将其也置于隐藏状态,然后再使用tabs[tabsValue].className="selected"和tabsContent[tabsValue].className="selected"将当前点击的选项卡背景颜色设置为红色,并将相应的现象卡内容显示。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=6132

更多内容:http://www.softwhy.com/jsshili/164

时间: 2024-10-26 14:15:01

js实现的tab选项卡功能的相关文章

原生JS画的tab选项卡

记录一下原生js写的tab选项卡 鼠标滑入可以切换图片 离开之后自动切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-

原生js、jQuery实现选项卡功能

在大家在网上平常浏览网页的时候,想必各位都会看到选项卡功能,在这里给大家详解一下用原生js.jQuery如何来写一些基本的选项卡 话不多说,先给各位看一下功能图:              好了,下边开始写代码了: HTML代码: <ul> <li class="click">red</li> <li>blue</li> <li>yellow</li> </ul> <div class

js实现网页tab选项卡切换效果

1 <style> 2 *{margin:0;padding:0;} 3 body{font-size:14px;font-family:"Microsoft YaHei";} 4 ul,li{list-style:none;} 5 #tab{position:relative;} 6 #tab .tabList ul li{ 7 float:left; 8 background:#fefefe; 9 background:-moz-linear-gradient(top,

原生js实现tab选项卡里内嵌图片滚动特效代码

<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8"><title>原生js实现tab选项卡里内嵌图片滚动特效代码</title><meta name="keywords" content="原生js实现tab选项卡里内嵌图片滚动特效代码" /><meta name=&

tytabs.jquery.min.js实例,渐变的TAB选项卡特效

<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>唐山塑钢门窗</title><script type="text/javascript" src="/ajaxjs/jquery-1.6.2.min.js"><

Axure实现Tab选项卡切换功能

这几天用Axure画原型图的过程中,需要实现Tab选项卡切换的效果,但Axure中并没有类似于Tab控件的部件,所以可以用Axure中的动态面板(Dynamic Panel)来实现. 本文以已经汉化的Axure7.0为例,英语不太好的朋友可以先进行汉化(汉化的时候要注意版本,不同的版本,汉化文件也稍有差异). 具体实现步骤如下: 1.往页面中拖入一个动态面板部件: 2.给该动态面板部件添加几个状态: 操作方法为:双击该动态面板,点击左侧的加号添加状态,这里把四个添加的状态名称改为"选项卡1.选项

tab选项卡代码(原生js)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>tab选项卡一练习</title> <style> *{ margin: 0px; padding: 0px; } #tab{ width: 400px; height: 250px; margin: 20px auto; position: rel

js之tab选项卡以及排思想

排它思想 选中一个排除其他的 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <style> 7 .active{ 8 background-color: blue; 9 } 10 #aaa{ 11 width: 50px; 12 height: 70

可以自动切换的tab选项卡实现过程详解

可以自动切换的tab选项卡实现过程详解:关于选项卡大家一定不会陌生,应用非常的频繁,通常选项卡都是需要点击或者划过才能够实现切换.本章节分享一个能够实现自动切换的选项卡功能,并给出它的具体实现过程.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.so