javascript - 单击不同行的选项卡时删除事件类 jQuery ui

标签 javascript jquery jquery-ui tabs

$(document).ready(function() {
    $('.tabs .tab-links a').on('click', function(e)  {
        var currentAttrValue = $(this).attr('href');

        // Show/Hide Tabs
        $('.tab').slideUp();
        $('.tabs ' + currentAttrValue).slideDown(); // causes slide up if click on other tab


        // Change/remove current tab to active
        $(this).parent('li').addClass('active').siblings().removeClass('active');

        e.preventDefault();
    });
});

我想要做的是,一旦我单击不同行中的另一个选项卡,就删除事件类,目前,如果我单击同一行中的另一个选项卡,我需要将其设置为删除该类应用于所有行。

在我的 CSS 中使用 active 类来提供不同的背景颜色,例如,当我单击选项卡 3 时,选项卡 4 3 将不再具有背景颜色,但 4 将会完美。

但是现在我有多行选项卡,如果我再次单击第 1 行选项卡 2,然后单击第 2 行选项卡 1,那么我单击的第一个选项卡(第 1 行选项卡 2)仍然具有事件类,因此仍然具有不同的背景颜色。

这个问题已经困扰我两天了,如果有人知道如何解决,请帮忙。 比你还要多。

最佳答案

我做了一个 fiddle :

http://jsfiddle.net/fzvyu63w/

<小时/>
$('.tab').on('click', function(){

    var thisTab = this;

    /* some code ... */

    /* Removing active effect with slideUp: */
    $('.active').not(thisTab).slideUp(function(){
        $(this).removeClass('active').fadeIn();
    });

    /* After that, active the clicked tab: */
    $(thisTab).addClass('active');

});

关于javascript - 单击不同行的选项卡时删除事件类 jQuery ui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27907624/

相关文章:

javascript - 循环遍历对象数组并返回每个对象的键和值

javascript - 如何注册 video.js 插件

javascript - 如何使用 html 元素的属性动态创建 json 对象

javascript - 如何在 Drupal 7 中使用 jQuery Update 中的 jQuery UI

javascript - 为什么 javascript 文件加载两次 console.log 和 alert 并且 jquery "click"运行两次

javascript - 仅匹配 <br> 如果直接在 </p> 之前但不直接在 </p> 之后

javascript - 在 jQuery 中导出为 csv

php - 隐藏 jQueryUI 选项卡内容

javascript - 如何通过单击然后使用 Jquery 按下键盘上的 Delete 键来删除可编辑的 div?

javascript - Bootstrap 模式窗口未显示