logo

Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

Демо EBT модули Скачать EBT модули

❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

Демо EPT модули Скачать EPT модули

Scroll

Использование Chat GPT для переписывания JavaScript-кода без jQuery

11/06/2025, by Ivan

Промпт для ChatGPT по переписыванию jQuery в JavaScript

Если вы хотите переписать код на jQuery в чистый JavaScript с помощью ChatGPT, перейдите на chat.openai.com и введите следующий чёткий и лаконичный запрос:

Пожалуйста, перепиши следующий код на jQuery в ванильный JavaScript, сохраняя ту же функциональность. Обеспечь совместимость с современными стандартами JavaScript (ES6+). Также используй Drupal.behaviors, если это применимо. [Вставьте ваш jQuery-код сюда]

Замените шаблон [Вставьте ваш jQuery-код сюда] на реальный jQuery-код, который хотите конвертировать.

Вот пример преобразования кода с jQuery на JavaScript:

(function ($, Drupal) {
  Drupal.behaviors.myBehavior = {
    attach: function (context, settings) {
      // Выполнить только один раз для каждого элемента при загрузке страницы
      $('.my-class', context).once('myBehavior').each(function () {
        $(this).click(function () {
          alert('Элемент нажат: ' + $(this).text());
        });
      });

      // Пример динамического добавления класса
      $('.toggle-button', context).once('toggleBehavior').click(function () {
        $('.toggle-target').toggleClass('active');
      });
    }
  };
})(jQuery, Drupal);

Переписанный JavaScript-код без jQuery:

(function (Drupal) {
  Drupal.behaviors.myBehavior = {
    attach: function (context, settings) {
      context.querySelectorAll('.my-class').forEach(function(element) {
        if (!element.dataset.myBehaviorAttached) {
          element.dataset.myBehaviorAttached = true;
          element.addEventListener('click', function () {
            alert('Элемент нажат: ' + element.textContent);
          });
        }
      });

      context.querySelectorAll('.toggle-button').forEach(function(button) {
        if (!button.dataset.toggleBehaviorAttached) {
          button.dataset.toggleBehaviorAttached = true;
          button.addEventListener('click', function () {
            document.querySelectorAll('.toggle-target').forEach(function(target) {
              target.classList.toggle('active');
            });
          });
        }
      });
    }
  };
})(Drupal);

 

Теги