添加和删​​除div中的div同时也切换类

时间:2015-10-30 19:56:49

标签: toggle addclass removeclass

我有一些块div。 当你点击div(this)时,它会淡化其他div(toggleClass)。 当你点击同一个div(this)时,它会删除“淡出”' (toggleClass)。

所以我遇到的麻烦就是这个。

如果你点击“淡出”' DIV。 我需要那个div不要褪色'和所有其他divs'褪色'

所以不管你点击什么div都没有消失,所有其他div都消失了。当你点击/关闭你的(这个)div

时也会切换淡入淡出

这是小提琴。

https://jsfiddle.net/misschohoh/AzDQm/264/

$(".block").click(function() {  
$('.block, .outlink').toggleClass('fade');
$( this ).removeClass('fade');

2 个答案:

答案 0 :(得分:0)

https://jsfiddle.net/AzDQm/275/

这是你指的是什么?

$(".block,.outlink").click(function() {  
    if($(this).hasClass('active')){

        $( this ).removeClass('active');
        $('.block, .outlink').removeClass('fade');
        return;
    }
    $('.block, .outlink').removeClass('active');
    $('.block, .outlink').addClass('fade');
    $( this ).removeClass('fade');
    $( this ).addClass('active');
});

答案 1 :(得分:0)

这是一支笔:http://codepen.io/jasonhulbert/pen/JYZMzW

$('.block, .outlink').on('click', function(e) {
    $(e.currentTarget).removeClass('fade').siblings().addClass('fade');
});

当然,这要求所有'块'和'外链'都是兄弟姐妹

如果您使用的是不包含.on()方法的jquery版本,则只需交换.bind():

$('.block, .outlink').bind('click', function(e) {
    $(e.currentTarget).removeClass('fade').siblings().addClass('fade');
});