2015-10-30 2 views
0

У меня есть несколько блоков div. Когда вы нажимаете на div (это), он исчезает в других div (toggleClass). Когда вы нажимаете на тот же div (это), он удаляет «fade» (toggleClass).добавить и удалить divs из div, а также переключать классы

так что у меня проблемы с этим.

если вы нажмете на div 'fade'. Мне нужно, чтобы div не «исчезал», а все остальные divs «исчезали»

поэтому независимо от того, какой div вы нажимаете на него, он не исчезает, а все остальные divs исчезают. а также переключать выцветание, когда вы нажимаете на кнопку «выкл» (это) div

вот скрипка.

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

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

ответ

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'); 
}); 
0

Вот ручка: http://codepen.io/jasonhulbert/pen/JYZMzW

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

Конечно, это ожидает, что все ваши «блоки» и «внешних ссылок», чтобы быть братья и сестры

И если вы используете версию JQuery который не включает метод .on(), вы можете просто поменять местами .bind():

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