Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 一个页面上有多个jQuery选项卡。。。?_Javascript_Jquery_Tabs - Fatal编程技术网

Javascript 一个页面上有多个jQuery选项卡。。。?

Javascript 一个页面上有多个jQuery选项卡。。。?,javascript,jquery,tabs,Javascript,Jquery,Tabs,我所要做的就是在同一个页面上有多个选项卡区域,并使用JS中的一个类来处理它们。我不想手动向JS添加单独的ID来激活选项卡 这是一把小提琴: 这是我的密码: HTML 您在为第二个选项卡提供href值时犯了一个小错误,它应该是tab1b和tab2b <header> <h1 class="widget-title">Popular Articles 2</h1> <a href="#" class="more">More</a

我所要做的就是在同一个页面上有多个选项卡区域,并使用JS中的一个类来处理它们。我不想手动向JS添加单独的ID来激活选项卡

这是一把小提琴:

这是我的密码:

HTML


您在为第二个选项卡提供
href
值时犯了一个小错误,它应该是
tab1b
tab2b

<header>
    <h1 class="widget-title">Popular Articles 2</h1>
    <a href="#" class="more">More</a>

    <ul class="tab-nav">
        <li class="active"><a href="#tab1b">Read</a></li>
        <li><a href="#tab2b">Emailed</a></li>
    </ul>
</header>

流行文章2

演示:

您在为第二个选项卡提供
href
值时犯了一个小错误,它应该是
tab1b
tab2b

<header>
    <h1 class="widget-title">Popular Articles 2</h1>
    <a href="#" class="more">More</a>

    <ul class="tab-nav">
        <li class="active"><a href="#tab1b">Read</a></li>
        <li><a href="#tab2b">Emailed</a></li>
    </ul>
</header>

流行文章2

演示:

假设链接和选项卡的顺序相同,因为此代码使用单击的标题索引来确定要显示的选项卡索引:

$('.tab-nav li a').click(function(){

    var that = $(this); //cache when you can
    var tabIndex = that.parent().index();
    var tabs = that.parents('aside').find('.tab');

    that.parent('li').siblings().removeClass('active');
    that.parent('li').addClass('active');
    tabs.removeClass('active');
    tabs.eq(tabIndex).addClass('active');
    return false;

});

或者,您可以运行一些javascript来预先提供与ID匹配的所有选项卡和标题,或者只使用外部库,如jQuery UI选项卡。

假设链接和选项卡的顺序相同,因为此代码使用单击的标题索引来确定要显示的选项卡索引:

$('.tab-nav li a').click(function(){

    var that = $(this); //cache when you can
    var tabIndex = that.parent().index();
    var tabs = that.parents('aside').find('.tab');

    that.parent('li').siblings().removeClass('active');
    that.parent('li').addClass('active');
    tabs.removeClass('active');
    tabs.eq(tabIndex).addClass('active');
    return false;

});

或者,您可以运行一些javascript,预先提供与ID匹配的所有选项卡和标题,或者只使用外部库,如jQuery UI选项卡。

对不起,现在应该可以了,只要选项卡组位于单独的旁侧标记中。删除所有id,只要选项卡标题和选项卡内容div的顺序相同,一切都可以正常工作——此代码使用单击的标题索引来确定要显示的选项卡的索引。这似乎很有效!非常感谢您抽出时间。我正在努力升级我的JS,但在此期间,我还必须工作。:)令人惊叹的。祝你在未来的编码工作中好运!是的,大部分是这样。仍在阅读
.index()
,这似乎是使多个实例工作的关键。抱歉,现在它应该可以工作了,只要选项卡组位于单独的旁侧标记中。删除所有id,只要选项卡标题和选项卡内容div的顺序相同,一切都可以正常工作——此代码使用单击的标题索引来确定要显示的选项卡的索引。这似乎很有效!非常感谢您抽出时间。我正在努力升级我的JS,但在此期间,我还必须工作。:)令人惊叹的。祝你在未来的编码工作中好运!是的,大部分是这样。仍在阅读
.index()
,这似乎是使多个实例工作的关键。请原谅我的无知,但您实际上发现比您遇到麻烦的代码更复杂和烦人?是的,如果可以,只需使用已经实现的tabs版本。实际上,我确实更喜欢为像这样简单的东西包含另一个库。另外,我正在努力学习这一切是如何运作的。请原谅我的无知,但你实际上发现比这段代码更复杂、更烦人?是的,如果可以的话,就使用已经实现的tabs版本。事实上,我更喜欢为像这样简单的事情包含另一个库。另外,我正在努力学习这一切是如何运作的。