aardio 文档
aardio 范例:选项卡
//选项卡
/*
HTMLayout 选项卡控件使用教程
http://www.aardio.com/thread-8503-1-1.html
*/
import win.ui;
/*DSG{{*/
var winform = win.form(text="HTMLayout 选项卡控件( tabs behavior应用 )";right=599;bottom=399;parent=...)
winform.add()
/*}}*/
import web.layout;
import web.layout.behavior.tabs; //导入behavior
var wbLayout = web.layout(winform)
wbLayout.html = /**
<html>
<head>
<style>
body{
margin:0;
background:#e67259;
padding:2px;
}
.tabs
{
font:system;
behavior:tabs; /*指定这是一个选项卡控件*/
flow: horizontal; /*修改默认的垂直布局为横向布局,这样strip就跑左侧去了*/
height:100%%;
width:100%%;
overflow:hidden;
}
.tabs > .strip /* 选项卡容器 */
{
flow: vertical; /*选项卡按钮改成垂直布局*/
margin-bottom:-1px;
padding: 4px 0 2px 2px;
width:120px;
height:100%;
background:#e67259;
}
.tabs > .strip > [panel] /* 选项卡按钮默认样式 */
{
padding: 3px;
margin-bottom:1px;
height: max-intrinsic;
background:#e67259;
text-align:right;
position: relative;
}
.tabs > .strip > [panel] span{
margin-right:15px;
}
.tabs > .strip > [panel]:hover /* 鼠标悬停选项卡样式*/
{
background-color:#e67259 rgb(236,240,241) rgb(236,240,241) #e67259;
transition:blend;
}
.tabs > .strip > [panel]:current /*当前选项卡样式*/
{
background-color:#FFF;
position:relative;
}
.tabs > .strip > [panel]:current:hover /*点击当前选项卡的样式*/
{
transition:none;
}
.tabs > .strip > [panel]:current:first-child,
.tabs > .strip > [panel]:current:hover:first-child
{
}
.tabs:focus .strip [panel]:current
{
}
//下面指定内容页样式
.tabs > .panel[name] { display:none; }
//框架页正在打开
.tabs > iframe.panel[name]:busy {
foreground-image:url(images/loading.png);
foreground-repeat: no-repeat;
foreground-position: 2px 2px;
}
.tabs > .panel[name]:expanded
{
background:#FFF;
padding:7px;
margin:0;
display:block;
height:100%%;
width:100%%;//框架必须指定宽度
}
//下面指定关闭按钮的样式
.tabs > .strip > [panel] .close-panel{
display:none;
}
.tabs > .strip > [panel]:current .close-panel{
display:block;
position: absolute;
top:6px;
right:2px;
width:12px;
height:12px;
line-height: 12px;
border-radius:12px;
font-size: 12px;
font-family:"Marlett";
color: #7e8c8d;
content:"r";
}
.tabs > .strip > [panel]:current .close-panel:hover{
background:#999;
color: #FFF;
}
.tabs > .strip > [panel]:current .close-panel:active{
background:red;
color: #FFF;
}
</style>
</head>
<body>
<div class="tabs" >
<div class="strip" >
<!-- 选项卡,可以随意放到哪一侧,必须使用DIV标签 -->
<div panel="panel1" selected><span>选项一</span></div>
<div panel="panel2"><span>选项二</span></div>
<div panel="panel3"><span>选项三</span></div>
</div>
<div class="panel" name="panel1">
在超链接的URL前面加上tabs://的前缀,例如<br />
<a href="tabs://about:blank" title="新页面" target="_blank">tabs://about.html</a> <br /><br />
然后在超链接的 title属性中指定新建选项卡的标题,<br />
最后指定用target属性指定目标选项卡的名字,"_blank"表示新建选项卡 <br />
符合以上条件的超链接 - 点击则会在选项卡页面中打开,<br /><br />
这种动态创建的选项项,默认会添加一个关闭按钮, 注意这个按钮在CSS中要指定 float:right 以向右浮动
</div>
<div class="panel" name="panel2">
这是第二个选项页,其中name属性指定选项卡名字
<button>按钮</button>
</div>
<div class="panel" name="panel3">
这是第三个选项页,其中name属性指定选项卡名字
<button #my-button>点这里</button>
</div>
</div>
</body>
</html>
**/
//切换选项页激活下面的事件
import console;
wbLayout.onElementExpanded = {
panel1 = function (ltTarget,ltEle,reason) {
console.dump( ltTarget.outerHTML );
};
panel2 = function (ltTarget,ltEle,reason) {
console.dump( ltTarget.outerHTML );
};
panel3 = function (ltTarget,ltEle,reason) {
console.dump( ltTarget.outerHTML );
};
/*
HTMLayout的回调事件即可以是函数,也可以是一个函数表。
函数表的键即节点的id或name属性,如果没有匹配名称的函数,则调用default函数
*/
default = function(ltTarget,ltEle,reason){
console.dump( ltTarget.name );
};
}
winform.show()
win.loopMessage();
Markdown 格式