我已经使用 jQuery UI 选项卡创建了一个界面,但是我的要求之一是有一个“全部”选项,该选项可以同时显示选项卡组中所有页面的内容。
我的选项卡是从 PHP 动态生成的,我给每个选项卡按钮一个 id,以便结果如下所示:
<li ><a id='tabProjectBrief' href="#section1">Project Brief</a></li>
<li ><a id='tabScorecard' href="#extra1">Scorecard</a></li>
<li ><a id='tabContributions' href="#section2">Contributions</a></li>
<li ><a id='tabOther' href="#section6">Other</a></li>
<li ><a id='tabAll' href="#all">All</a></li>
然后在我的 JavaScript 中,我有以下内容:
$(document).ready(function() {
$('#tabAll').click(function(){
setTimeout("$('div.tabSection').removeClass('ui-tabs-hide')", 50);
});
});
我正在使用setTimeout(),因为选择了选项卡时,jQuery UI在先前选择的选项卡上设置UI-Tab-Hide类,从而从我可以在新选项卡上单击“事件”之后发生的内容。这样,刚刚收到 ui-tabs-hide 类的选项卡也会将其删除。
它似乎工作得很好,但是对我来说感觉有点像黑客,那么有没有更好的方法来做到这一点?谢谢。