昨天刚收藏一个数字金刚发的,呵呵
-------------------tab控件.htm-------------------------
<html xmlns:page>
<head>
<title></title>
<style type="text/css">
    page\:tab {behavior:url(Tab.htc);} 
</style>
</head>
<body bgcolor="ButtonFace">
<page:tab style="width:300px; height:150px; background:ButtonFace; font:9pt; color:black; text-align:left;">
    <page:frame text="设定一">刊物感上水道法
    </page:frame>
    <page:frame text="设定二">士大夫按时风口浪尖似的螺丝扣搭街坊;胜利可;
    </page:frame>
    <page:frame text="其它选项">顺口溜搭街坊地方立刻机;风刀霜剑看来反对立刻
    </page:frame>
</page:tab> 
</body>
</html>
----------tab.htc------------------------
<PUBLIC:COMPONENT>
<PUBLIC:PROPERTY NAME="default" />
<SCRIPT LANGUAGE="JScript">
function open(mIndex)
{
if(event)
{
for(iIndex=0;iIndex<varArray.length;iIndex++)
if(varArray[iIndex]==event.srcElement)
{
mIndex=iIndex;
}
}
for(iIndex=0;iIndex<varArray.length;iIndex++)
{
if(iIndex==mIndex)
{
varArray[iIndex].style.zIndex=varArray.length*2+1; childNodes[iIndex+varArray.length].style.zIndex=varArray.length*2;
varArray[iIndex].style.posTop=0; varArray[iIndex].style.posLeft=varArray[iIndex].left-2; varArray[iIndex].style.padding="5px";
childNodes[iIndex+varArray.length].style.visibility="visible";
        }
else
{
childNodes[iIndex+varArray.length].style.visibility="hidden";
}
if(iIndex<mIndex)
{
varArray[iIndex].style.zIndex=iIndex*2+1; childNodes[iIndex+varArray.length].style.zIndex=iIndex*2;
}
if(iIndex>mIndex)
{
varArray[iIndex].style.zIndex=iIndex*2-1; childNodes[iIndex+varArray.length].style.zIndex=iIndex*2-2;
}
if(iIndex<mIndex||iIndex>mIndex)
{
varArray[iIndex].style.posTop=2; varArray[iIndex].style.posLeft=varArray[iIndex].left;
varArray[iIndex].style.padding="3px";
}
varArray[iIndex].style.paddingTop="2px";
}
}
function nothing()
{event.returnValue=false;}
var Object,strValue,varRule,varArray=new Array(),iIndex,kIndex,varBgColor,nIndex;
if(hasChildNodes())
{
if(!style.position||style.position=="static") style.position="relative";
varBgColor=style.background;
style.background="transparent";
style.overflow="hidden";
varRule=childNodes.item(0);
for(iIndex=0;iIndex<childNodes.length;iIndex++)
if(childNodes[iIndex].nodeName!="frame")
removeChild(childNodes[iIndex]);
for(iIndex=0;iIndex<childNodes.length;iIndex++)
{
varArray[iIndex]=document.createElement("span");
varArray[iIndex].style.position="absolute";
varArray[iIndex].style.posTop=2;
varArray[iIndex].style.color="black";
varArray[iIndex].innerText=childNodes[iIndex].text;
varArray[iIndex].style.borderTop="1px solid white";
varArray[iIndex].style.borderLeft="1px solid white";
varArray[iIndex].style.borderRight="1px solid black";
varArray[iIndex].style.padding="3px";
varArray[iIndex].style.paddingTop="2px";
varArray[iIndex].style.background=varBgColor;
varArray[iIndex].style.cursor="default";
varArray[iIndex].onclick=open;
varArray[iIndex].onselectstart=nothing;
childNodes[iIndex].style.width=style.posWidth;
childNodes[iIndex].style.borderTop="1px solid white";
childNodes[iIndex].style.borderLeft="1px solid white";
childNodes[iIndex].style.borderRight="1px solid black";
childNodes[iIndex].style.borderBottom="1px solid black";
childNodes[iIndex].style.background=varBgColor;
childNodes[iIndex].style.position="absolute";
childNodes[iIndex].style.padding="5px";
}
for(iIndex in varArray)
{
insertBefore(varArray[iIndex],varRule);
if(iIndex>0)
{
nIndex=2;
for(kIndex=0;kIndex<iIndex;kIndex++)
{
nIndex+=varArray[kIndex].clientWidth+4;
}
varArray[iIndex].style.posLeft=nIndex;
}
else
{
varArray[iIndex].style.posLeft=2;
}
varArray[iIndex].left=varArray[iIndex].style.posLeft;
varArray[iIndex].style.zIndex=iIndex*2+1;
childNodes[iIndex*2+1].style.height=style.posHeight-varArray[iIndex].clientHeight-2;
childNodes[iIndex*2+1].style.posTop=varArray[iIndex].clientHeight+2;
childNodes[iIndex*2+1].style.zIndex=iIndex*2;
}
}
open(0);
</SCRIPT>
</PUBLIC:COMPONENT>

解决方案 »

  1.   

    http://webfx.eae.net/dhtml/tabpane/tabpane.html http://webfx.eae.net/download/tabpane102.zip例子:http://webfx.eae.net/dhtml/tabpane/demo.html有三钟样式可供选择
      

  2.   

    谢谢各位了,研究了下,感觉TabPane这东东只适合用来放些简单内容,要是想用他来嵌套页面,就影响性能了,因为执行TabPane时会先执行所有的子页面~!
      

  3.   

    “但是如果个位和十位都为0的话,就组合不到正确的数据是”是什么意思?不明白
    数据是正确的啊,数据位是三个字节:20 56 00  (00*10000+56*100+20)/1000(三位小数位,应协议规定的)=5.62啊Rs_State:=Port[$3FD] And $05 这句话是什么意思? 应是Port[$3FD]的值取第1位和第3位
    这样好象不对,应And $07好一点,取低3位才好啊
    --------------------------
    因为接受到的数据类似20 56 00 00 00 00 00 20 56 00 00 00 00 00 20 56 00 00 
     假入00后面的数据为个位和十位 则如果接受到的数据个位和十位如果不是0数据是对的,如果它的个位和十位为0的话 这样组合出来的数据则少2个数量级