4. 让页面更有条理:dijit.layout.TabContainer
当一个页面内容比较多,比较复杂的时候,能够用标签页,将功能相似的一些表格或者信息放在同一个标签页内,用户能够方便的在不一样的标签页之间切换,关闭某个标签页,或者删除某个标签页。
一个最简单的例子:
<html>
<head>
<title>Button Widget Dojo Tests</title>
<style type="text/css">
@import "../js/dojo/resources/dojo.css";
@import "../js/dijit/themes/tundra/tundra.css";
</style>
<script type="text/javascript"
djConfig="parseOnLoad: true, isDebug: true"
src="../js/dojo/dojo.js"></script>
<script type="text/javascript">
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.TabContainer");
</script>
</head>
<body class="tundra">
<div id="mainTabContainer" dojoType="dijit.layout.TabContainer" style="width: 100%; height: 20em;" selectedChild="tab1">
<div id="tab1" dojoType="dijit.layout.ContentPane" title="Tab 1" closable="true">hi</div>
<div id="tab2" dojoType="dijit.layout.ContentPane" title="Tab 2">hi2</div>
</div>
</body>
</html>
若是不一样的标签也是单独不通的文件,咱们能够在dijit.layout.ContentPane组件上设置href属性,指定到一个外部文件。须要注意的是,那个页面必须是utf-8的字符集,不然的话中文会出现乱码。例如:<div id="tab2" dojoType="dijit.layout.ContentPane" href="tab2.html" refreshOnShow="true" title="Tab 2"></div>
若是要动态添加一个标签页的话能够尝试下面的例子:
<script>
function fff(){
var rrr=document.createElement("DIV");
var tmp = new dijit.layout.ContentPane({title:"tab3",closable:true},rrr);
tmp.setContent(" <iframe style='width:100%;height:100%;border:1px' border=1 src='http://www.baidu.com/'></iframe>");
dijit.byId("mainTabContainer").addChild(tmp);
dijit.byId("mainTabContainer").selectChild(tmp);
//dijit.byId("mainTabContainer").removeChild(dijit.byId("tab2"));
}
</script>
这个例子中使用了iframe,主要缘由:若是多个页面的话,颇有可能有多个form,form之间若是有嵌套就会比较乱,因此分红了独立的iframe,固然彻底能够在新建一个ContentPane的时候设置一下href属性,直接加载一个页面。javascript