Показать сообщение отдельно
  #14 (permalink)  
Старый 14.08.2018, 11:14
Интересующийся
Отправить личное сообщение для senex Посмотреть профиль Найти все сообщения от senex
 
Регистрация: 09.12.2014
Сообщений: 10

От всех этих обьектов и функций толку никакого, поскольку они видны только в пределах своего блока $(function() {});

А вот обьект jQuery виден везде, потому к нему и надо присоединить новый пользовательский метод.

В jQuery это делается так:

$.fn.userMethod = function() {
    ...
  };


Конкретно для этой темы:

$(function() {  
  $.fn.classToggler = function(target, cls) {
    $(this).click(function() {
      let clss = cls || $(this).data('cls');
      $(target).toggleClass(clss);
    });
  };  
});

$(function() {
  $('.btn_cls').classToggler('.front');
});

$(function() {
  $('.btn_dis_cls').classToggler('#display', 'blue');
});


Второй аргумент cls опциональный для того, чтобы расширить функциональность нового метода - если понадобится работать с другим классом, а не с тем, что указан в data.
Ответить с цитированием