选项卡效果,动态添加·

<style type="text/css">
body,td,th {font-size: 12px;}
.li1{float:left; display:block;  padding:5px; border-right:1px solid #A8C29F; border-bottom:1px solid #A8C29F; background-image:url(http://album.hi.csdn.net/app_uploads/wtcsy/20081017/114338284.p.gif); text-align:center; color:#949694; cursor:pointer;}
.li2{float:left; display:block;  padding:5px; border-right:1px solid #A8C29F;  background-color:#FFFFCC;background-image:url(http://album.hi.csdn.net/app_uploads/wtcsy/20081017/114903878.p.gif);text-align:center ;font-weight:bold;color:#949694; cursor:pointer;}
.div1{height:100%; padding:10px;}
.div2{height:100%;display:none; padding:10px;}
#div{width:100%; height:100%; border-bottom:1px solid #A8C29F; border-left: 1px solid #A8C29F; border-right:1px solid #A8C29F;}
#ul{ list-style:none; padding:0px;margin:0px;border:1px solid #A8C29F;border-right:none; height:25px; border-bottom:none}
</style>
<div id="all" style="height:200px;  padding:0px;"></div>
<br><br><br>
<input  value="add" type="button" οnclick="jia(document.getElementById('title').value,document.getElementById('content').value)" />
标题:
<input type="text" id="title" />
内容:
<input type="text" id="content"/>
<script>
function Tab(id,width){  // id为父元素Id   width为选项卡的宽度
this.parentId = id
this.width =width
}

Tab.prototype.createTab=function(num,con,title){  //num为选项卡的个树   con为对应内容的叔祖  title为对应标题
document.getElementById(this.parentId).style.width=this.width*num +1     //得到父div的宽度

var title = document.createElement("div")                            
document.getElementById(this.parentId).appendChild(title)                //创建 包含标题栏的div

var content = document.createElement("div")
content.id="div"
document.getElementById(this.parentId).appendChild(content)              //创建 包含内容的div

var ul = document.createElement("ul")
ul.id ="ul"
title.appendChild(ul)                                                      //创建Ul

for(var i=0;i<num;i++)                                 //循环输出title和content
 {
    if(i==0)
    {
        var li = document.createElement("li")
        li.className="li2"
        li.οnclick= function(){change(event.srcElement)};
        //li.innerHTML=title[i]
        li.innerHTML = con[i]
        li.style.width=this.width
        ul.appendChild(li)
       
        var div1 = document.createElement("div")
        div1.className = "div1"
        div1.innerHTML = con[i]
        content.appendChild(div1)
    }
    else
    {
        var li = document.createElement("li")
        li.className="li1"
        //li.innerHTML=title[i]  为什么title[i]取不到直,但是con[i]取的到了??? 不明白
        li.innerHTML = con[i]
        li.οnclick= function(){change(event.srcElement)};
        li.style.width=this.width
        ul.appendChild(li)
       
        var div2 = document.createElement("div")
        div2.className = "div2"
        div2.innerHTML = con[i]
        content.appendChild(div2)
    }
 }
}

Tab.prototype.add=function(title,content){  // 功能是添加一个选项卡
document.getElementById(this.parentId).style.width=parseInt(document.getElementById(this.parentId).style.width)+this.width //添加父元素的长度来包含新加的div
var li = document.createElement("li")
li.className ="li1"
li.style.width=this.width
li.innerHTML =title
li.onclick  = function(){change(li)}
document.getElementById("ul").appendChild(li)

var div = document.createElement("div")
div.className ="div2"
div.innerHTML =content
document.getElementById("div").appendChild(div)
}

Tab.prototype.change =function(e){
var ul  = document.getElementById("ul")
var div = document.getElementById("div")
for(var i=0;i<ul.getElementsByTagName("li").length;i++)
  {
  if(ul.getElementsByTagName("li")[i]==e)
      {
      ul.getElementsByTagName("li")[i].className="li2"
      div.getElementsByTagName("div")[i].className="div1"
      }
     else
      {
      ul.getElementsByTagName("li")[i].className="li1"
      div.getElementsByTagName("div")[i].className="div2"
      }
   }
}

function change(e){
var ul  = document.getElementById("ul")       //没什么好说的
var div = document.getElementById("div")
for(var i=0;i<ul.getElementsByTagName("li").length;i++)
  {
  if(ul.getElementsByTagName("li")[i]==e)
      {
      ul.getElementsByTagName("li")[i].className="li2"
      div.getElementsByTagName("div")[i].className="div1"
      }
     else
      {
      ul.getElementsByTagName("li")[i].className="li1"
      div.getElementsByTagName("div")[i].className="div2"
      }
 }
}

function jia(a,b){
oo.add(a,b)}

var oo = new Tab("all",116)
oo.createTab(3,[1,2,3],[1,2,3])
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值