我想从html网站上的链接导航到另一个带有两个不同标签的TabContainer。
我在目标html文件中默认选择了一个标签(我想保留)。
如何设置链接以使其正常工作?我在网上找到了几个文件,但没有任何作用。所以可能有人需要以愚蠢的方式向我解释这一点。
这是目的地TabContainer:
<div dojoType="dijit.layout.TabContainer" region="center" tabStrip="true">
<div dojoType="dijit.layout.ContentPane" title="Contact" selected="true">
some text
</div>
<div dojoType="dijit.layout.ContentPane" title="Imprint" selected="true">
some text
</div>
我想放置一个链接,自动导航到标题“Imprint”。
有人可以帮忙吗?
非常感谢并且一切顺利 TTP
答案 0 :(得分:0)
您可以从javascript中选择它,也可以从服务器生成带有selected
属性到true
的标签的标记(您需要将另一个设置为false
)。第二种选择取决于您的服务器技术。
对于第一个选项,将id添加到容器和选项卡,并在页面加载完成后选择选项卡。类似的东西:
<div id="tabContainer" dojoType="dijit.layout.TabContainer" region="center" tabStrip="true">
<div id="tab1" dojoType="dijit.layout.ContentPane" title="Contact" selected="true">
some text
</div>
<div id="tab2" dojoType="dijit.layout.ContentPane" title="Imprint" selected="false">
some text
</div>
</div>
<script>
dojo.ready(function() {
dijit.byId('tabContainer').selectChild(dijit.byId('tab2'));
});
</script>
如果要动态选择任一选项卡,则需要将URL中的某种参数传递给您的页面。您可以使用查询参数(?
符号后面的变量)或散列片段(#
后面的任何内容)。您可以从服务器和javascript中读取查询参数。哈希片段,仅来自javascript。
您可以通过检查location
对象来访问这些参数。例如,使用哈希片段,您可以链接到您的页面,如http://host/page.html#imprint
。然后在上面的<script>
标记中:
<script>
dojo.ready(function() {
if (location.hash == '#imprint') {
dijit.byId('tabContainer').selectChild(dijit.byId('tab2'));
}
});
</script>
对于查询参数,另请参阅dojo.queryToObject()
。