tab面板是布局中用的比较多的。
引入ext必须的3个文件:
<!-- Ext -->
<link rel="stylesheet" type="text/css" href="ext4/resources/css/ext-all.css" />
<script type="text/javascript" src="ext4/bootstrap.js"></script>
<script type="text/javascript" src="ext4/locale/ext-lang-zh_CN.js"></script>
tab.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!-- Ext -->
<link rel="stylesheet" type="text/css" href="ext4/resources/css/ext-all.css" />
<script type="text/javascript" src="ext4/bootstrap.js"></script>
<script type="text/javascript" src="ext4/locale/ext-lang-zh_CN.js"></script>
<link rel="stylesheet" type="text/css" href="ux/css/TabScrollerMenu.css" />
<script type="text/javascript" src="tab.js"></script>
</head>
<body>
</body>
</html>
tab.js:
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', 'ux/');
Ext.onReady(function(){
var tabscrollermenu = Ext.create('Ext.ux.TabScrollerMenu', {
ptype: 'tabscrollermenu',
maxText: 15,
pageSize: 10
});
var tabs = Ext.create('Ext.tab.Panel', {
title: '选项卡面板b',
width: 400,
height: 300,
collapsible: true,
activeTab: 0,
plugins: [tabscrollermenu],
items: [{
itemId: 'index1',
title: '选项卡 11',
closable: true,
autoLoad: {
url: 'tabFrame.jsp?url=index1.html'
}
}, {
title: '选项卡2',
closable: true,
autoLoad: {
url: 'tabFrame.jsp?url=index2.html'
}
}],
renderTo: Ext.getBody()
});
Ext.create('Ext.button.Button', {
text: '添加选项卡',
scope: this,
handler: function(){
var tab = tabs.add({
title: '选项卡' + (tabs.items.length + 1),
closable: true,
autoLoad: {
url: 'tabFrame.jsp?url=index2.html'
}
});
tabs.setActiveTab(tab);
},
renderTo: Ext.getBody()
});
Ext.create('Ext.button.Button', {
text: '删除选项卡',
scope: this,
handler: function(){
var tab = tabs.getActiveTab();
tabs.remove(tab);
},
renderTo: Ext.getBody()
});
});
ux在examples下面可以找到。
index1.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<title>Insert title here</title>
<script type="text/javascript">
function show(){
var val = document.getElementById("txtIndex").value;
alert(val);
}
</script>
</head>
<body>
index1页面<input id="txtIndex" type="text" value="abab"/><input type="button" value="显示" οnclick="show()"/>
</body>
</html>
index2.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<title>Insert title here</title>
<script type="text/javascript">
function show(){
var val = document.getElementById("txtIndex").value;
alert(val);
}
</script>
</head>
<body>
index2页面<input id="txtIndex" type="text" value="index2"/><input type="button" value="显示" οnclick="show()"/>
</body>
</html>
tabFrame.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<iframe src="<%=request.getParameter("url") %>" width="100%" height="100%" frameborder="0"></iframe>
效果如图: