jQuery有机选项卡
我正在使用“有机标签”插件--需要一些帮助 根据body标签上的类别,我希望在两个列表之间切换-例如,如果用户正在查看帆船,我希望默认情况下选项卡切换到“panel2” 同样,如果他们在看动力船,那么我希望默认情况下选项卡位于“panel1”上 HTML是jQuery有机选项卡,jquery,tabs,Jquery,Tabs,我正在使用“有机标签”插件--需要一些帮助 根据body标签上的类别,我希望在两个列表之间切换-例如,如果用户正在查看帆船,我希望默认情况下选项卡切换到“panel2” 同样,如果他们在看动力船,那么我希望默认情况下选项卡位于“panel1”上 HTML是 <div id="sailOrPower"> <ul class="nav"> <li class="nav-one"><a href="#panel1" class="c
<div id="sailOrPower">
<ul class="nav">
<li class="nav-one"><a href="#panel1" class="current">Top Power</a></li>
<li class="nav-two"><a href="#panel2">Top Sail</a></li>
</ul>
<div class="listWrap">
<ul id="panel1">
<li><a href="#">Power boat 1</a></li>
<li><a href="#">Power boat 1</a></li>
</ul>
<ul id="panel2" class="hide">
<li><a href="#">Sail boat 1</a></li>
<li><a href="#">Sail boat 1</a></li>
</ul>
</div>
</div>
这显然需要改变
我仍在学习jQuery,所以我有点不确定最好的方法是什么,所以任何提示都很好。我想的方法是jQuery需要
$(function() {
var $body = $('body');
if ($body.is('.sailPage')) {
$('#sailOrPower ul.nav li.nav-one a').removeClass('current');
$('#sailOrPower ul.nav li.nav-two a').addClass('current');
$('#sailOrPower .listWrap ul#panel1').addClass('hide');
$('#sailOrPower .listWrap ul#panel2').css('display', 'block');
}
else if ('#sailOrPower ul.nav li.nav-one a').hasClass('current') {
$('#sailOrPower .listWrap ul#panel1').removeClass('hide')
}
});
这不是一个好的解决方案,因为如果你有很多选项卡,你必须为每个选项卡写这个检查,但是如果你只有两个,这可能是一个快速的解决方案
$(function() {
if($('.sail').size() > 0) {
$('#sailOrPower .listWrap ul')
.removeClass('hide')
.filter('#panel2')
.addClass('hide');
}
if($('.power').size() > 0) {
$('#sailOrPower .listWrap ul')
.removeClass('hide')
.filter('#panel1')
.addClass('hide');
}
});
抱歉-通过电话添加评论-有点困难。您好,是的,只有两个选项卡,因此理论上您的解决方案可行,但它似乎不可行:(我还需要能够将ul.nav上的“current”类删除/添加到相应的选项卡上(最初忘记了这一点)
$(function() {
if($('.sail').size() > 0) {
$('#sailOrPower .listWrap ul')
.removeClass('hide')
.filter('#panel2')
.addClass('hide');
}
if($('.power').size() > 0) {
$('#sailOrPower .listWrap ul')
.removeClass('hide')
.filter('#panel1')
.addClass('hide');
}
});