Подключение скриптов в своей теме

Главные вкладки

Аватар пользователя viktorbeznosov viktorbeznosov 4 февраля 2019 в 10:29

Друзья, есть такая проблема.
Я в своей теме подключаю скрипты, в которых используется jquery
В my_theme.info прописываю scripts[] = assets/js/main.js
В друпале установил модуль jquery_update.

Но в консоли выдает ошибку - $ is not a function

В чем может быть ошибка?

Комментарии

Аватар пользователя viktorbeznosov viktorbeznosov 4 февраля 2019 в 11:09

Сам файл вот
if ($(window).height() <= 800){
$('.big-slider-full-height').css("height","700px");
}
if ($(window).height() <= 700){
$('.big-slider-full-height').css("height","600px");
}
if ($(window).height() <= 600){
$('.big-slider-full-height').css("height","500px");
}

window.onresize = function(){
if ($(window).height() <= 800){
$('.big-slider-full-height').css("height","700px");
}
if ($(window).height() <= 700){
$('.big-slider-full-height').css("height","600px");
}
if ($(window).height() <= 600){
$('.big-slider-full-height').css("height","500px");
}
}

Ругается именно на то, что он не знает функцию $

Аватар пользователя ivnish ivnish 4 февраля 2019 в 11:40

Модуль jquery update обновляет jquery в пределах версии 1.*. Вы же используете 3 версию.

Перепишите ваш скрипт под версию 1.*, чтобы он не ругался.

Подключать jquery через тему, это плохой тон и может создать кучу проблем в будущем

Аватар пользователя ivnish ivnish 4 февраля 2019 в 12:34

Так же файлы js должны быть оформлены через behaviors.

(function ($) {

  'use strict';

  Drupal.behaviors.ВАШЕИМЯ = {
    attach: function (context, settings) {

    // ваш код

    }
  };

})(jQuery);