javascript - 根据选项卡内的文本链接的哈希 ID 动态选择 jquery UI 选项卡

标签 javascript jquery html user-interface tabs

我有一组由 CMS 生成的 jQuery UI 选项卡,因此每个页面的内容都会不同。一些选项卡集可能有两个选项卡,其他选项卡可能有 5 个等等。

我四处寻找解决此问题的简单方法,但似乎找不到。我查看了历史插件以及备用代码。

这是我的示例标记

<div id="tabs"> 
<ul>
<li><a href="#tabs-1">TAB 1 HEADING</a></li>
<li><a href="#tabs-2">TAB 2 HEADING</a></li>
<li><a href="#tabs-3">TAB 2 HEADING<a></li>
<li><a href="#tabs-4">TAB 3 HEADING</a></li>
</ul>
</div>

<div id="tabs-1">tab1 content here</div>
<div id="tabs-2">tab2 content here</div>
<div id="tabs-3">tab2 content here</div>
<div id="tabs-4">tab4 content here</div>

我想创建一个脚本,允许用户从选项卡式内容中的文本链接中交替选择一个选项卡。因此,例如,在选项卡内容 div 中,链接到第三个选项卡,就像选项卡导航一样。我不想在脚本中手动编写所需选项卡的索引。

我知道这会奏效,但我想在我所有的标签内容中创建更强大的东西。

$("#tabs").tabs("select" , "#tab-4");

这是我目前所拥有的,但似乎没有用。我是 jQuery 的新手。我在 anchor 链接中添加了一个名为 tabJump 的 onlick。

function tabJump(){
    //get href ID as a number
    var thisID = Number($(this).attr('href').replace(/#tabs-/, '')) - 1;
    // this should trigger the new tab based on this href id.
    $("#tabs").tabs("select" , "#tabs-" + thisID);
};  

关于如何让它发挥作用的想法?本质上,我想要将标签的任何 ID 作为被单击的 anchor 链接的 href,并通过这个给定的 ID 定位新标签。我希望有多个带有这些 id href 的链接实例。

提前致谢。

最佳答案

好的,谢谢大家,终于弄明白我需要什么了。

如果有人觉得这有用,我会在下面分享。

点击启动函数

<p><a href="#tabs-4" onclick="tabJump(this);">my text link</a></p>

和脚本

function tabJump(obj) {
//grab the id in the clicked links href
var thisID = Number($(obj).attr('href').replace(/#tabs-/, ''));
//use this ID to trigger the click on the set of tabs
$("#tabs").tabs("select", "#tabs-" + thisID); 
//then scroll to the top of the tabs set
$('html, body').animate({
     scrollTop: $("#tabs").offset().top
 });

};

所以我使用它的方式是,一旦在我的 CMS 中的文章中创建了选项卡中的内容,我将以 4 或 10 个选项卡结束。然后第一个选项卡中有一些副本需要链接到选项卡 4。所以我向链接添加了一个 onclick 并在需要时附加 jQuery 脚本,如上图所示。

感谢大家的帮助和提示。如果有人有更简洁的方法来执行此操作,请随时发布。

和平

关于javascript - 根据选项卡内的文本链接的哈希 ID 动态选择 jquery UI 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12380314/

相关文章:

javascript - 如何检查对象中的 hasOwnProperty 链

javascript - 带函数的 for 循环

javascript - jQuery/XML : synchronizing data and representations using DOM-Mutation-Events

jquery - 不要在标题类中打断单词

jquery onclick 触发的次数是上一次点击的两倍

javascript - 如果元素不是对象,则获取嵌套 JSON 对象的键名称和值

javascript - 什么是好的 CSS/HTML/SVG/Javascript 来为分数 0 到 10 做一个循环图像? (需要在 IE 7 和其他常见浏览器上工作)

iphone - 如何禁用 iPhone 上的自动日期链接?

php - 如何将图像添加到 Codeigniter 中的分页按钮

javascript - 使用 Angular.JS 根据前一个选择的内容禁用选择