Здравствуйте.
Пытаюсь создать параллакс для отдельного блока. На html всё работает замечательно.
Создала тип блока.
Создала отдельные шаблоны для типа блока и для templates\field\field--text-with-summary.html.twig
В последнем вывела только div с классом wrap.
js-код пишу в пользовательском js-файле. В D8 не знаю как правильно записать. Поняла, что нужно использовать Drupal.behaviors, но как-то не получается.
Мой код:
attach: function (context, settings) {
$(window).scroll(function () {
var st = $(this).scrollTop();
$(".wrap").css({
"transform": "translate(0%, " + st + "%"
});
});
}
};
В Mozilla ошибка:
TypeError: $ is not a function
global.js:1:521
attach http://ator.ru:3000/themes/custom/maio/js/global.js?v=8.8.1:1
attachBehaviors http://ator.ru:3000/core/misc/drupal.js?v=8.8.1:25
forEach self-hosted:235
attachBehaviors http://ator.ru:3000/core/misc/drupal.js?v=8.8.1:22
<анонимный> http://ator.ru:3000/core/misc/drupal.init.js?v=8.8.1:28
listener http://ator.ru:3000/core/misc/drupal.init.js?v=8.8.1:20
В файле библиотек подключены зависимости:
js/global.js: {}
dependencies:
- core/jquery
- core/jquery.once
Комментарии
Drupal.behaviors.parallaxWeb = {
attach: function (context, settings) {
// Ваш код
}
};
})(jQuery, Drupal);
Вот так должно быть
Спасибо!
Всё заработало!