我想从一个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>我想放置一个链接,以自动导航到标题“印记”。
有人能帮帮忙吗?
非常感谢和所有最好的TTP
发布于 2011-06-17 03:29:29
您可以从javascript中选择它,或者从您的服务器中为选项卡生成标记,并将selected属性设置为true (您需要将另一个属性设置为false)。第二种选择取决于您的服务器技术。
对于第一个选项,将ids添加到容器和选项卡中,并在页面加载完成时选择选项卡。类似于:
<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()。
https://stackoverflow.com/questions/6375485
复制相似问题