日期:2014-05-18 浏览次数:20138 次
以下是引用片段: 复制内容到剪贴板 代码: 这个选项卡程序是利用JS的类实现的,所以它的调用也很简单,直接利用一句代码实例化就行了. var tab1=new tabMenu("tab_container1",{fontSize:"14px",color:"#FFBC44",fontWeight:"bold"},{fontWeight:"normal",color:"#666"}); 第一个参数是必选项,第二个和第三个参数是可选项,分别是当前选项卡的样式和其它和其它选项卡的样式,需要注意的是第二个和第三个参数的写法,是以逗号分隔的(因为传递的是对象,所以对象属性之间的分隔符是逗号).另外就是里面的属性名和CSS的写法不同,是javascript中的写法. <script type="text/javascript"> try{ document.execCommand("BackgroundImageCache", false, true); }catch(e){} function $(element){ if(arguments.length>1){ for(var i=0,elements=[],length=arguments.length;i<length;i++) elements.push($(arguments[i])); return elements; } if(typeof element=="string") return document.getElementById(element); else return element; } var Class={ create:function(){ return function(){ this.initialize.apply(this,arguments); } } } Object.extend=function(destination,source){ for(var property in source){ destination[property]=source[property]; } return destination; } var tabMenu=Class.create(); tabMenu.prototype={ initialize:function(container,selfOpt,otherOpt){ this.container=$(container); /* 利用Object的extend方法来实现对默认属性的覆盖. 如果初始化选项卡时,没有设置选项卡的属性,则默认属性 */ var selfOptions=Object.extend({fontWeight:"bold",fontSize:"12px",color:"#FFBC44"},selfOpt||{}); var otherOptions=Object.extend({fontWeight:"normal",fontSize:"12px",color:"#666"},otherOpt||{}); //用for循环得到objs数组,主要是为了兼容非IE浏览器把空白也当作子对象 for(var i=0,length=this.container.childNodes.length,objs=[];i<length;i++){ if(this.container.childNodes[i].nodeType==1) objs.push(this.container.childNodes[i]); } var tabArray=objs[0].getElementsByTagName("li"); //用for循环得到divArray数组,主要是为了兼容非IE浏览器把空白也当作子对象 var divArray=new Array(); for(i=0,length=objs[1].childNodes.length;i<length;i++){ if(objs[1].childNodes[i].nodeType==1) divArray.push(objs[1].childNodes[i]); } for(i=0,length=tabArray.length;i<length;i++){ tabArray[i].length=length; tabArray[i].index=i; tabArray[i].onmouseover=function(){ //其它选项卡样式设置 for(var j=0;j<this.length;j++){ tabArray[j].style.backgroundPosition="-"+tabArray[j].offsetWidth+"px 0"; for(var property in selfOptions){ tabArray[j].firstChild.style[property]=otherOptions[property]; } } //当前选项卡样式 this.style.backgroundPosition="0 0";  
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|