首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

动态删去选项卡的效果示例

2012-11-01 
动态删减选项卡的效果示例htmlhead title163邮箱选项卡效果/title script /script styleul,

动态删减选项卡的效果示例

<html><head> <title>163邮箱选项卡效果</title> <script> </script> <style>  ul,li  {   margin:0;   padding:0;   list-style:none;   /*for close location*/   position:relative;   }  li  {   display:block;   width:130px;   height:25px;   float:left;   cursor:pointer;   overflow:hidden;  }  span  {   font-size:10pt;   color:#22b5d9;   font-weight:bold;   display:block;  }  #asgardCard li  {   font-size:10pt;   font-weight:bold;   color:#22b5d9;   border:1px solid #22b5d9;   margin:10px;   text-align:center;   line-height:1.5;  } </style>  <style>  /*Asgard CardProgram Css Start*/  #itemsPanel,#itemsPanel li  {   margin:0;   padding:0;   list-style:none;   /*for close location*/   position:relative;   }  /*Clear Float:Referrence-->http://www.blueidea.com/tech/web/2005/3065.asp*/  /*There is defect:the attribute-content hold one line place.*/  ul:after  {      content: ".";       display: block;      height: 0;       clear: both;       visibility: hidden;  }  #cardContent  {   height:auto;   min-height:300px;   border:2px solid #cccccc;   clear:both;  }  #itemsPanel li  {   display:block;   width:130px;   height:25px;   float:left;   cursor:pointer;   overflow:hidden;  }  #cardFrame  {   width:100%;height:100%;border:1px solid #ffffff;margin:0;  }  .active  {      background:url('http://bbs.blueidea.com/attachments/2007/8/20/20070820_b3321ab700a7e293b3ceJODnkLUsGEhy.jpg') 0 0 no-repeat;  }    .default  {   background:url('http://bbs.blueidea.com/attachments/2007/8/20/20070820_b3321ab700a7e293b3ceJODnkLUsGEhy.jpg') 0 -25px no-repeat;  }  .title  {   font-size:10pt;   font-weight:bold;   line-height:2;   padding-left:10px;   display:block;   width:105px;   height:25px;  }  li .close  {      position:absolute;   top:9px;   left:115px;   display:block;   width:10px;   height:10px;   overflow:hidden;  }  .active .close  {   background:url('http://bbs.blueidea.com/attachments/2007/8/20/20070820_b3321ab700a7e293b3ceJODnkLUsGEhy.jpg') 0 -50px no-repeat;  }  .default .title  {   color:#999999;  }  .active .title  {   color:#000000;  }  .active .close:hover  {   background:url('http://bbs.blueidea.com/attachments/2007/8/20/20070820_b3321ab700a7e293b3ceJODnkLUsGEhy.jpg') -10px -50px no-repeat;  }  .default .close  {   background:url('http://bbs.blueidea.com/attachments/2007/8/20/20070820_b3321ab700a7e293b3ceJODnkLUsGEhy.jpg') -20px -50px no-repeat;  }  .default .close:hover  {   background:url('http://bbs.blueidea.com/attachments/2007/8/20/20070820_b3321ab700a7e293b3ceJODnkLUsGEhy.jpg') -30px -50px no-repeat;  }  /*Asgard CardProgram Css End*/ </style></head><body><span>1.代码效果示例:</span><ul>  <li title="关闭"></a> </li> <li title="关闭"></a> </li> </ul><p /><span>注:以上代码为DOM动态组织的代码参考<span><p style="clear:both;"/><p /><span>2.点击下表,更换内容</span><ul id="asgardCard"><li title="blueidea">蓝色理想</li><li title="google">Google中国</li><li title="email126">Email-126</li><li title="ngacn">艾泽拉斯</li></ul><p style="clear:both;"/><span>3.以下为动态创建:</span><div> <ul id="itemsPanel"> </ul> <div id="cardContent"> <iframe id="cardFrame"> </iframe> </div></div></body><script>/** Field Declare ^-^ */var Asgard;if(!Asgard) Asgard={};if(!Asgard.CardProgram) Asgard.CardProgram={};/**function:define Object ItemsPanel*/Asgard.CardProgram.ItemsPanel=function(id,frameId){ this.element=$(id); this.register=new Array(); this.currentItem=null; this.cardFrame=$(frameId); this.element.className='itemsPanel';}/**function:add item from panel*/Asgard.CardProgram.ItemsPanel.prototype.addItem=function(item){ if(this.validateExist(item.element.getAttribute('id')))   return; item.panel=this; this.visitedRegister(item,"add"); this.element.appendChild(item.element);}/**function:delete item from panel*/Asgard.CardProgram.ItemsPanel.prototype.deleteItem=function(item){    this.visitedRegister(item,"delete"); this.element.removeChild(item.element);}/**Ajax or other */Asgard.CardProgram.ItemsPanel.prototype.changeSubPage=function(){ if(this.register.length==0) {  this.cardFrame.src="";  return; }  this.cardFrame.src=this.currentItem.url; /* *这里用户可以自己定义想要的页面,如果你想内嵌IFrame。 */}Asgard.CardProgram.ItemsPanel.prototype.validateExist=function(id){ for(var i=0;i<this.register.length;i++) {  if(this.register[i].element.id==id)  {   return true;  } }  return false;}/**function:register visited sequence*      type--add | delete | active*/Asgard.CardProgram.ItemsPanel.prototype.visitedRegister=function(item,type){ var i=this.register.length; if(type=="add") {    for(var k=0;k<i;k++)  {   this.register[k].resetItem();  }  this.currentItem=item;  this.register[i]=item;  this.currentItem.element.className="active";    this.changeSubPage(); } else if(type=="delete") {       for(k=0;k<i;k++)  {   if(this.register[k]==item)   {    this.register.splice(k,1);    break;   }  }  if(item==this.currentItem)  {   i=this.register.length;   if(i>0)   {    this.currentItem=this.register[i-1];    this.currentItem.element.className="active";   }   else    this.currentItem=null;  }    this.changeSubPage(); } else if(type=="active") {  if(this.currentItem==item)   return;  else  {        for(k=0;k<i;k++)   {    if(this.register[k]==item)    {     this.register.splice(k,1);     break;    }   }      i=this.register.length;   for(k=0;k<i;k++)   {    this.register[k].resetItem();   }   this.currentItem=item;   this.register.push(item);  }    this.changeSubPage(); }}/**function:define Object Item*/Asgard.CardProgram.Item=function(id,title,url,flag){  this.element=this.$C(); this.panel={}; this.id=id; this.title=title; this.url=url; this.flag=flag; this.init();};/**function:init item*/Asgard.CardProgram.Item.prototype.init=function(){ this.element.setAttribute('id',this.id); this.element.className="default";    var mirror=this; if(!this.flag) {    this.element.innerHTML="<nobr class='title' title='"+this.title+"'>"+this.title+"</nobr>"+"<a href='#nogo' class='close' title='关闭'></a>";    this.addEventListener(this.$ES(this.element,'nobr')[0],'click',function(){mirror.activeItem();});  this.addEventListener(this.$ES(this.element,'a')[0],'click',function(){mirror.destroyItem();}); } else {  this.element.innerHTML="<nobr class='title' title='"+this.title+"'>"+this.title+"</nobr>";   this.addEventListener(this.$ES(this.element,'nobr')[0],'click',function(){mirror.activeItem();}); } }/**active item*/Asgard.CardProgram.Item.prototype.activeItem=function(){ this.panel.visitedRegister(this,"active"); this.element.className="active"; }/**function:reset item*/Asgard.CardProgram.Item.prototype.resetItem=function(){ this.element.className="default"; }/**function:destroy item*/Asgard.CardProgram.Item.prototype.destroyItem=function(){ this.panel.deleteItem(this);}/**function:addListener to item*/Asgard.CardProgram.Item.prototype.addEventListener=function(element,type,handler){ if(element.addEventListener)  element.addEventListener(type,handler,true); else  element.attachEvent("on"+type,handler,true);}/**function:usefull functions*/Asgard.CardProgram.Item.prototype.$C=function(tag){ if(tag  &&  typeof tag =="string")   return document.createElement(tag); else  return document.createElement('li');}Asgard.CardProgram.Item.prototype.$ES=function(element,tag){ return element.getElementsByTagName(tag);}function $(id){ return document.getElementById(id);}</script><script>function attachExampleEvent(){ var lists=$('asgardCard').getElementsByTagName('li'); for(var i=0;i<lists.length;i++) {  lists[i].onclick=exampleClickListener; }}function exampleClickListener(e){ e=e || window.event; var source=e.target || e.srcElement; if(source.getAttribute('title')=='blueidea') {   itemsPanel.addItem(new Asgard.CardProgram.Item("blueidea","蓝色理想","http://www.blueidea.com",false)); } else if(source.getAttribute('title')=='google') {   itemsPanel.addItem(new Asgard.CardProgram.Item("google","Google中国","http://www.google.cn",false)); } else if(source.getAttribute('title')=='email126') {   itemsPanel.addItem(new Asgard.CardProgram.Item("email126","Email-126","http://mail.126.com",false)); } else if(source.getAttribute('title')=='ngacn') {   itemsPanel.addItem(new Asgard.CardProgram.Item("ngacn","艾泽拉斯","http://www.ngacn.com",false)); } }var itemsPanel=null;function exampleStartMethod(){ attachExampleEvent(); if(itemsPanel==null)  itemsPanel=new Asgard.CardProgram.ItemsPanel("itemsPanel","cardFrame"); itemsPanel.addItem(new Asgard.CardProgram.Item("index","时空创意","http://www.skst.com.cn",true)); }window.onload=exampleStartMethod;</script></html><a href="http://js.alixixi.com/">欢迎访问阿里西西网页特效代码站,js.alixixi.com</a>

?

?

效果:


动态删去选项卡的效果示例
?

?

来自:http://www.alixixi.com/Dev/HTML/jsrun/color/2008/2008051280191.html

热点排行