到目前为止我的代码:
$(function(){
$( "#tabs" ).tabs().find( ".ui-tabs-nav" ).sortable({ axis: "x" });
$(document).ready(function() {
var $tabs = $("#tabs").tabs();
$('#tabs-1 a').click( function(){
$tabs.tabs('select', 4); });
});
<div id="tabs">
<ul>
<li><a href="#tabs-1">Home</a></li>
<li><a href="#tabs-2">Alarms</a></li>
<li><a href="#tabs-3">Access Control</a></li>
<li><a href="#tabs-4">Services</a></li>
<li><a href="#tabs-5">Contact Us</a></li>
</ul>
<div id="tabs-1">
<p><span class="bodytext">Check our services</span></p> //want to link to tab 4(services)
<p><span class="bodytext">
<a href="#tabs-5">Contact us</a>for free 24hours a day...</span></p>
正如您在单击选项卡1中的“联系我们”文本时从代码中看到的那样,有一个指向选项卡5的链接。 我想要做的是创建一个从“检查我们的服务”到选项卡4的链接。 通常用链接其他标签的标签创建超过10个链接
我想我知道我必须将$tabs.tabs('select', 4);
更改为$tabs.tabs('select', id);
但我不知道在我想创建链接时如何在html中调用“id”。
有什么建议吗?
答案 0 :(得分:1)
我想我会使用链接本身上的href来处理这个问题,可能还有一个类来指示它是一个内部选项卡链接,以确定要加载哪个选项卡并在选项卡创建事件中设置处理程序。
$('#tabs').tabs({
create: function(event,ui) {
$('a.intra-tab',ui.panel).unbind('click').click( function() {
var id = Number( $(this).attr('href').replace(/#tabs-/,'') ) - 1;
$('#tabs').tabs('select',id);
return false;
});
}
});
<div id="tabs">
<ul>
<li><a href="#tabs-1">Home</a></li>
<li><a href="#tabs-2">Alarms</a></li>
<li><a href="#tabs-3">Access Control</a></li>
<li><a href="#tabs-4">Services</a></li>
<li><a href="#tabs-5">Contact Us</a></li>
</ul>
<div id="tabs-1">
<p><span class="bodytext"><a href="#tabs-4" class="intra-tab">Check our services</a></span></p>
</div>
...
您也可以使用实时处理程序来完成。
$('#tabs').tabs();
$('a.intra-tab').live( 'click', function() {
var id = Number( $(this).attr('href').replace(/#tabs-/,'') ) - 1;
$('#tabs').tabs('select',id);
return false;
});