Javascript 使当前div将相关菜单选项卡更改为活动
在我的移动项目中,我可以按一个菜单选项卡(Tab2),该选项卡将变为活动状态(活动类的背景色),屏幕上将显示下面相应的div(Div2)。 如果我按下另一个选项卡,该选项卡将与corr.div等一起激活…总之,工作完美 但现在我遇到了相反的问题,我想在屏幕上按一个div(在我的例子中是滑动),并使上面相应的选项卡处于活动状态(带颜色)。e、 g.在屏幕上的Div1中滑动,Tab1应处于活动状态,并具有特定的背景色。在Div2中滑动,然后Tab2应该处于活动状态,等等,但无法使其工作 以下是我的li标签:Javascript 使当前div将相关菜单选项卡更改为活动,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在我的移动项目中,我可以按一个菜单选项卡(Tab2),该选项卡将变为活动状态(活动类的背景色),屏幕上将显示下面相应的div(Div2)。 如果我按下另一个选项卡,该选项卡将与corr.div等一起激活…总之,工作完美 但现在我遇到了相反的问题,我想在屏幕上按一个div(在我的例子中是滑动),并使上面相应的选项卡处于活动状态(带颜色)。e、 g.在屏幕上的Div1中滑动,Tab1应处于活动状态,并具有特定的背景色。在Div2中滑动,然后Tab2应该处于活动状态,等等,但无法使其工作 以下是我的l
<ul class="nav nav-pills mobileNavbar">
<li onclick="swipeFunction(0)" class="col-xs-4 tab1" data-index="0"><a href="#">STREAM</a></li>
<li onclick="swipeFunction(1)" class="col-xs-4 tab2" data-index="1"><a href="#">CHAT</a></li>
<li onclick="swipeFunction(2)" class="col-xs-4 tab3" data-index="2"><a href="#">IDE</a></li>
</ul>
有关我试图构建的内容的更多详细信息,包括LIB、图像(以及我之前的问题,由“Pieter”解决):
正如我上面所评论的,您在所有条件下都在做同样的事情。您所需要做的就是根据您从旋转木马获得的索引激活导航项。试试这个:
$('#carousel-example-generic').on('slid.bs.carousel', function () {
var savedIndex = $(this).find('.active').index();
$('.nav-pills>li:eq(' + savedIndex + ')>a').css('background', 'yellow');
});
$('#carousel-example-generic').on('slid.bs.carousel', function () {
var savedIndex = $(this).find('.active').index();
$('.nav-pills>li:eq(' + savedIndex + ')>a')
.addClass("active") // add active class to the current one
.parent().siblings() // select sibling navigation items
.removeClass("active"); // remove active class from the other navigations
});
编辑:
我建议使用CSS类而不是内联CSS。试试这个:
$('#carousel-example-generic').on('slid.bs.carousel', function () {
var savedIndex = $(this).find('.active').index();
$('.nav-pills>li:eq(' + savedIndex + ')>a').css('background', 'yellow');
});
$('#carousel-example-generic').on('slid.bs.carousel', function () {
var savedIndex = $(this).find('.active').index();
$('.nav-pills>li:eq(' + savedIndex + ')>a')
.addClass("active") // add active class to the current one
.parent().siblings() // select sibling navigation items
.removeClass("active"); // remove active class from the other navigations
});
正如我在上面所评论的,您在所有条件下都在做同样的事情。您所需要做的就是根据您从旋转木马获得的索引激活导航项。试试这个:
$('#carousel-example-generic').on('slid.bs.carousel', function () {
var savedIndex = $(this).find('.active').index();
$('.nav-pills>li:eq(' + savedIndex + ')>a').css('background', 'yellow');
});
$('#carousel-example-generic').on('slid.bs.carousel', function () {
var savedIndex = $(this).find('.active').index();
$('.nav-pills>li:eq(' + savedIndex + ')>a')
.addClass("active") // add active class to the current one
.parent().siblings() // select sibling navigation items
.removeClass("active"); // remove active class from the other navigations
});
编辑:
我建议使用CSS类而不是内联CSS。试试这个:
$('#carousel-example-generic').on('slid.bs.carousel', function () {
var savedIndex = $(this).find('.active').index();
$('.nav-pills>li:eq(' + savedIndex + ')>a').css('background', 'yellow');
});
$('#carousel-example-generic').on('slid.bs.carousel', function () {
var savedIndex = $(this).find('.active').index();
$('.nav-pills>li:eq(' + savedIndex + ')>a')
.addClass("active") // add active class to the current one
.parent().siblings() // select sibling navigation items
.removeClass("active"); // remove active class from the other navigations
});
您方便地在选项卡上已经有了类名“tab1”、“tab2”、“tab3”,可以根据
savedIndex
轻松匹配这些类名:
$('#carousel-example-generic').on('slid.bs.carousel', function() {
$('.nav li').removeClass('active'); // clear the old one
var savedIndex = $(this).find('.active').index();
$('.tab'+ (savedIndex+1)).addClass('active'); // add the new one
});
(我相信
index()
返回一个整数,但如果不是,您可能需要在添加1之前对其进行parseInt
解析。)您方便地在选项卡上已经有了类名“tab1”、“tab2”、“tab3”,可以根据savedIndex
轻松匹配这些类名:
$('#carousel-example-generic').on('slid.bs.carousel', function() {
$('.nav li').removeClass('active'); // clear the old one
var savedIndex = $(this).find('.active').index();
$('.tab'+ (savedIndex+1)).addClass('active'); // add the new one
});
(我相信
index()
返回一个整数,但如果不是,在添加1之前,您可能需要parseInt
它。)您在所有条件下都写了相同的in-thing…?您在所有条件下都写了相同的in-thing…?您可能需要重置其他css
,尽管我是一行,但是调用许多方法会以某种方式降低性能。我会选择$('.nav pills>li').removeClass('…')
。。与实时场景中的3-4一样,项目的长度可能超过OP中的共享长度。@Rayon在3-4项目上运行几乎不会影响性能。但我同意这一点@阿什……先生,你真是个天才!我自己也不会猜到的!非常感谢你!你是最受欢迎的朋友。。。我很高兴能帮上忙。干杯您可能希望重置其他css
,尽管它是一个线性函数,但是调用许多方法会以某种方式降低性能。我会选择$('.nav pills>li').removeClass('…')
。。与实时场景中的3-4一样,项目的长度可能超过OP中的共享长度。@Rayon在3-4项目上运行几乎不会影响性能。但我同意这一点@阿什……先生,你真是个天才!我自己也不会猜到的!非常感谢你!你是最受欢迎的朋友。。。我很高兴能帮上忙。干杯