0 Пользователей и 1 Гость просматривают эту тему.
  • 22 Ответов
  • 2312 Просмотров
*

bubanay

  • Осваиваюсь на форуме
  • 59
  • 0
jquery Joomla 3
« : 13.05.2015, 12:35:05 »
Почему-то на Joomla 3, не работают функции jquery(шаблон самописный).
Не могу заставить работать без ошибок простую функцию
Код
$(function(){
      $(".c").click(function (){
      $(".h").slideToggle("slow");
   });
});

Joomla 3, по умолчанию подключается библиотека jquery, с ней функция не работает.

Подключаю библиотеку в шаблон повторно, при вызове функции по клику происходит ошибка

Код
TypeError: $ is not a function
$(".h").slideToggle("slow");

Нашел статейку как не подгружать предустановленные библиотеки
http://blog.pbelkov.net/2012/10/02/joomla-3-0-%D1%83%D0%B1%D0%B8%D1%80%D0%B0%D0%B5%D0%BC-%D0%BD%D0%B5%D0%BD%D1%83%D0%B6%D0%BD%D1%8B%D0%B5-js-%D1%81-%D1%84%D1%80%D0%BE%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-%D1%87%D0%B0%D1%81/

отключил дефолтную библиотеку jquery:
Код
		
<?php
   $headlink = $this->getHeadData();
   unset($headlink['scripts']['/media/jui/js/jquery.min.js']);
   $this->setHeadData($headlink);
?>

Скрипт заработал, но выскочили ошибки в библиотеках
/media/jui/js/jquery-noconflict.js и
/media/jui/js/jquery-migrate.min.js:

ReferenceError: jQuery is not defined
jQuery.noConflict();

За что отвечают эти библиотеки? Если их закрыть ошибки пропадают и остается последняя ошибка на участок кода который то же подгружается в head автоматически.

Ошибка ReferenceError: jQuery is not defined
Код
  
<script type="text/javascript">
   jQuery(window).on('load',  function() {
   new JCaption('img.caption');
   });
</script>

Вопрос в том как мне заставить работать скрипт без ошибок. Зачем нужны библиотеки jquery-noconflict.js и jquery-migrate.min.js, можно ли их не подгружать?
За что отвечает последний участок кода и где его искать если удалять? Скорее всего это капча к модулю Jcoments.


   
« Последнее редактирование: 13.05.2015, 12:41:41 от bubanay »
*

zomby6888

  • Живу я здесь
  • 1484
  • 167
Re: jquery Joomla 3
« Ответ #1 : 13.05.2015, 12:52:01 »
Цитировать
отключил дефолтную библиотеку jquery:

Не надо ничего отключать, ваш код должен быть таким:
Код: javascript
(function($){
   $(".c").click(function (){
      $(".h").slideToggle("slow");
   });
})(jQuery);
интернет-блог: http://websiteprog.ru
*

bubanay

  • Осваиваюсь на форуме
  • 59
  • 0
Re: jquery Joomla 3
« Ответ #2 : 13.05.2015, 12:55:06 »
напрямую в шаблон не заработало, но сработало когда подключил код в позицию через плагин Sourcerer. А напрямую из шаблона можно заставить работать код? Из редактора Joomla крайне не удобно что-то править.
« Последнее редактирование: 13.05.2015, 13:10:11 от bubanay »
*

umbabaraumba

  • Практически профи
  • 2441
  • 152
  • если помог можете поставить +
Re: jquery Joomla 3
« Ответ #3 : 13.05.2015, 13:39:08 »
$(function(){
      $(".c").click(function (){
      $(".h").slideToggle("slow");
   });
});      
Попробуйте заменить $ на jQuery
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

fsv

  • Практически профи
  • 2526
  • 367
Re: jquery Joomla 3
« Ответ #4 : 13.05.2015, 13:51:12 »
напрямую в шаблон не заработало
не учтено .ready()
попробуйте:
Код: javascript
jQuery(function($) {
  //ваш код
});
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения
*

zomby6888

  • Живу я здесь
  • 1484
  • 167
Re: jquery Joomla 3
« Ответ #5 : 13.05.2015, 14:18:10 »
fsv, может вы имели ввиду:
Код: javascript
jQuery(document).ready(function($) {
//...
});
интернет-блог: http://websiteprog.ru
*

fsv

  • Практически профи
  • 2526
  • 367
Re: jquery Joomla 3
« Ответ #6 : 13.05.2015, 14:32:59 »
fsv, может вы имели ввиду:
Нет.
Приведенная конструкция совмещает 2 в 1: ноуконфликт + реди.
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения
*

zomby6888

  • Живу я здесь
  • 1484
  • 167
Re: jquery Joomla 3
« Ответ #7 : 13.05.2015, 14:33:48 »
Нет.
Приведенная конструкция совмещает 2 в 1: ноуконфликт + реди.

Круто, не знал
интернет-блог: http://websiteprog.ru
*

bubanay

  • Осваиваюсь на форуме
  • 59
  • 0
Re: jquery Joomla 3
« Ответ #8 : 13.05.2015, 15:27:28 »
jQuery(function($) {...}); работает, спасибо.

Подскажите как работают следующие конструкции(в какой момент подгружаются и можно ли их использовать в head) и какие из них одно и то же, какая более новая. Я думал это одно и то же.
jQuery(function($) {...})
(function($){...})(jQuery);
$(document).ready(function() {...});
$(function(){...});   

На HTML макете у меня прекрасно работае $(function(){...}) на Joomla почему-то не работает
« Последнее редактирование: 13.05.2015, 15:38:24 от bubanay »
*

NesDmitrijj

  • Захожу иногда
  • 14
  • 1
Re: jquery Joomla 3
« Ответ #9 : 13.05.2015, 18:19:45 »
Не буду создавать новую тему и напишу тут.
Где правильнее подключить
Код
JHtml::_('jquery.framework');
?
В index.php сайта - рано, сайт не верно отображает язык контента (в HTML теге head).
В index.php шаблона - поздно, некоторые скрипты не загружаются/отрабатывают (пишет ReferenceError: jQuery is not defined).
Так куда-же мне приткнуть подключение jquery.framework?
*

zomby6888

  • Живу я здесь
  • 1484
  • 167
Re: jquery Joomla 3
« Ответ #10 : 13.05.2015, 19:16:04 »
bubanay, используйте первый вариант, в большинстве случаев он оптимальный. Варианты 3 и 4 чреваты конфликтами. Вариант 2 больше подходит для написания плагинов.

NesDmitrijj, Подключайте jQuery там где вам необходимо его использовать. Если какие-то скрипты используют jquery не подключив саму библиотеку предварительно это проблема самих скриптов.
интернет-блог: http://websiteprog.ru
*

rsn

  • Осваиваюсь на форуме
  • 161
  • 10
Re: jquery Joomla 3
« Ответ #11 : 29.08.2015, 13:10:35 »
не учтено .ready()
попробуйте:
Код: javascript
jQuery(function($) {
  //ваш код
});

Большое спасибо! Я до этого везде $ менял на jQuery ))) И тут случайно наткнулся.
Думаю, такое решение должно быть отражено в FAQ по Joomla 2.5+, 3+
*

b2z

  • Support Team
  • 7470
  • 743
  • Разраблю понемногу
Re: jquery Joomla 3
« Ответ #12 : 30.08.2015, 09:08:46 »
Большое спасибо! Я до этого везде $ менял на jQuery ))) И тут случайно наткнулся.
Думаю, такое решение должно быть отражено в FAQ по Joomla 2.5+, 3+
Тут как бы Joomla вообще не причем - знание JS, вот и всё.
*

Омск

  • Осваиваюсь на форуме
  • 93
  • -1
Re: jquery Joomla 3
« Ответ #13 : 11.02.2016, 09:47:05 »
Как подключить Jquery в joomla3? Я искал в интернете, но не понял, куда писать код.

Я установил модуль меню на этот сайт, но он не работает, т.к. не подключена эта библиотека.

Пишут, что код надо писать в теге head, но я не нашел нигде этого тега.
*

vipiusss

  • Профи
  • 5656
  • 324
  • Злой я сегодня.Без обид.
Re: jquery Joomla 3
« Ответ #14 : 11.02.2016, 10:06:52 »
Я установил модуль меню на этот сайт, но он не работает, т.к. не подключена эта библиотека.

А вы меньше с вареза качайте!
Прикрепил вам качественное меню. Попробуйте.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Омск

  • Осваиваюсь на форуме
  • 93
  • -1
Re: jquery Joomla 3
« Ответ #15 : 11.02.2016, 14:05:24 »
Меню ваше поставил на этот сайт, тут тоже анимация никакая не работает, и расположено оно почему-то не в одну строку.
Или я не те настройки поставил?
*

AlekVolsk

  • Профи
  • 6312
  • 336
Re: jquery Joomla 3
« Ответ #16 : 11.02.2016, 14:11:54 »
а какую анимацию вы хотите? пользуйтесь стандартным модулем меню, его возможностей более чем достаточно, его внешний вид - это просто стили, его анимация - это ... тоже стили! и нефиг перегружать сайт   скриптами, там jq и так за глаза весит дохрена
*

Омск

  • Осваиваюсь на форуме
  • 93
  • -1
Re: jquery Joomla 3
« Ответ #17 : 11.02.2016, 14:37:22 »
Мне поставили задачу сделать меню с анимацией, я сам пока не могу анимацию сделать, вот и ищу модуль.

Анимация нужна как в этом модуле или подобная.
*

FlahsAxel

  • Давно я тут
  • 213
  • 0
Re: jquery Joomla 3
« Ответ #18 : 11.07.2017, 01:52:17 »
Доброе время суток!
Joomla 3.x использует jQuery.
Где посмотреть версию jQuery?
Откуда загружает? С ссайта или с google-серверов?

На форуме ответ не нашел.
В установленной Joomla 3.x, нашел только:
\media\jui\js\jquery.js v1.12.4
*

SmokerMan

  • Профи
  • 5333
  • 689
Re: jquery Joomla 3
« Ответ #19 : 11.07.2017, 11:38:37 »
Где посмотреть версию jQuery?
Откуда загружает? С ссайта или с google-серверов?
открыть исходный код страницы и посмотреть не судьба?)
*

FlahsAxel

  • Давно я тут
  • 213
  • 0
Re: jquery Joomla 3
« Ответ #20 : 11.07.2017, 20:06:13 »
SmokerMan
Пытаюсь понять - нужно подключать jQuery, или он уже встроен?
Чтобы не грузить фреймворк дважды!
*

tati-2000

  • Давно я тут
  • 203
  • 2
Re: jquery Joomla 3
« Ответ #21 : 12.07.2017, 00:52:42 »
Спойлер
[свернуть]

Читала, читала, чет так и не поняла как народ решает этот вопрос. Подскажите плз.
*

draff

  • Практически профи
  • 2779
  • 173
  • step by step
Re: jquery Joomla 3
« Ответ #22 : 12.07.2017, 04:59:55 »
jQuery Easy в помощь. https://extensions.joomla.org/extension/jquery-easy/
Может быть сложность из-за выбора  версии jQuery , но в 99% мне помогает в устранении конфликта JavaScript .
Удалю вирус с сайта. Тема в коммерческом разделе
Создам плагин , модуль под заказ для VirtueMart , JoomShopping
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенаправление url при смене версии Joomla и прежней структуры сайта

Автор Afman

Ответов: 20
Просмотров: 342
Последний ответ 23.09.2017, 08:15:02
от voland
Notice: Undefined offset: 1 in /libraries/joomla/environment/browser.php on line 282

Автор planetaryi

Ответов: 3
Просмотров: 249
Последний ответ 17.09.2017, 11:24:53
от botva
Вместо сайта отображается форма Joomla

Автор sts34

Ответов: 15
Просмотров: 208
Последний ответ 06.09.2017, 11:27:48
от lexxbry
Joomla 3.7 Баги с отображением полей

Автор yarek

Ответов: 0
Просмотров: 79
Последний ответ 29.08.2017, 21:24:31
от yarek
Замаскировать Joomla, например, под битрикс

Автор dm-krv

Ответов: 23
Просмотров: 315
Последний ответ 29.08.2017, 19:15:33
от dmitry_stas