【发布时间】:2011-03-08 01:44:07
【问题描述】:
目前我不确定这是否可行,而且我所做的测试似乎提供了奇怪的结果。
我在一页上有一个包含 4 个选项卡的部分,在这些选项卡中是几个文本部分,我为每个部分指定了一个唯一的锚名称。
我想要做的是从另一个页面链接到标签 3 中的第 4 块内容...
所有选项卡都运行良好,如果我链接到第一个选项卡上的内容部分,它运行良好..当我想链接到不是第一个选项卡时,它会变得棘手..
我试过了
<a href="http://example.com#tab-3#content-4" ></a>
但这根本不起作用
当我只使用时
<a href="http://example.com#tab-3"></a>
我也看到了这个实现 - 但是它似乎具有与仅使用上述代码相同的功能,无论这是否在我的 jquery 调用中
$(function(){
$('tabs').tabs();
var hash = location.hash;
$('tabs').tabs( "select" , hash );
});
在选择第三个选项卡时,使用上述两个选项中的任何一个,我都会被一直推到页面底部。我认为这是因为所有选项卡都放置在列表项中,然后 jqueryui 将它们转换为选项卡。实际上将数字 3 的选项卡内容从底部移回选项卡部分的顶部。
如果有人知道我如何链接到第三个选项卡上的第四个内容块,我将非常感激。
某人的解决方案可能在于 $_post 和 $_get 数据.. 但我不确定是否真的如此,即使那样我也不知道如何用 jqueryui 实现它
提前谢谢你
【问题讨论】:
-
你需要url中的tab id吗?例如,您的 url 是否可以看起来像
http://example.com#content-4,然后使用 JavaScript 选择包含idcontent-4 元素的选项卡? -
@andrew:在 url 中链接到不在“当前”选项卡上的部分(即 #content-4)意味着浏览器只是将自己定位到页面底部..(其中内容将是如果它没有移动到选项卡)并且因为页面在 javascript 之前加载,所以在浏览器定位到页面底部后更改选项卡意味着当新选项卡加载时它仍然在页面底部。 . 如果有办法加载选项卡然后选择内容可能会工作.. 但 id 不希望需要拆分 URL 来获取变量..
-
这是有道理的。我在想,如果您将 URL 保留为带有元素 ID 的单个哈希(无论它位于哪个选项卡中),页面将优雅地降级,并且这些链接在没有选项卡小部件的情况下仍然可以工作。如果你不需要支持没有 JavaScript 的人,你有更多的选择。是这样吗?
标签: jquery jquery-ui jquery-ui-tabs dynamic-linking