Показать сообщение отдельно
  #2 (permalink)  
Старый 13.08.2018, 16:56
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Очевидное решаение - простой цикл:
$(function() {
  [
    {
      element: '.btn_cls',
      target:  '.front'
    },{
      element: '.bSd_cls',
      target:  '.bSd' 
    },{
      element: '.btn_dis_cls',
      target:  '#display'
    }
  ].forEach(function(item){
    $(item.element).click(function() {
      var cls = $(this).data('cls');
      $(item.target).toggleClass(cls);
    })
  });
});
Но удобнее если таких элементов много - сделать глобальный обработчик и сделать некую связь меж целевыми элементами. Примерно так:
$(function() {
  $( "body" ).on( "click", ".toggle-target", function() {
    var cls = $(this).data('cls');
    var target = $(this).data('target');
    $(target).toggleClass(cls);
  });
});
Где каждому элементу, реагирующему на клик прописывается дополнительный класс "toggle-target", а также атрибут "data-target" содержащий селектор для цели.
__________________
29375, 35

Последний раз редактировалось Aetae, 13.08.2018 в 17:03.
Ответить с цитированием