Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使当前div将相关菜单选项卡更改为活动_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使当前div将相关菜单选项卡更改为活动

Javascript 使当前div将相关菜单选项卡更改为活动,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在我的移动项目中,我可以按一个菜单选项卡(Tab2),该选项卡将变为活动状态(活动类的背景色),屏幕上将显示下面相应的div(Div2)。 如果我按下另一个选项卡,该选项卡将与corr.div等一起激活…总之,工作完美 但现在我遇到了相反的问题,我想在屏幕上按一个div(在我的例子中是滑动),并使上面相应的选项卡处于活动状态(带颜色)。e、 g.在屏幕上的Div1中滑动,Tab1应处于活动状态,并具有特定的背景色。在Div2中滑动,然后Tab2应该处于活动状态,等等,但无法使其工作 以下是我的l

在我的移动项目中,我可以按一个菜单选项卡(Tab2),该选项卡将变为活动状态(活动类的背景色),屏幕上将显示下面相应的div(Div2)。 如果我按下另一个选项卡,该选项卡将与corr.div等一起激活…总之,工作完美

但现在我遇到了相反的问题,我想在屏幕上按一个div(在我的例子中是滑动),并使上面相应的选项卡处于活动状态(带颜色)。e、 g.在屏幕上的Div1中滑动,Tab1应处于活动状态,并具有特定的背景色。在Div2中滑动,然后Tab2应该处于活动状态,等等,但无法使其工作

以下是我的li标签:

<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项目上运行几乎不会影响性能。但我同意这一点@阿什……先生,你真是个天才!我自己也不会猜到的!非常感谢你!你是最受欢迎的朋友。。。我很高兴能帮上忙。干杯