Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема c jquery на joomla сайте

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Ошибка TypeError: $ is not a function
Oscrib
Отправлено: 13 Июля, 2016 - 19:13:35
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016  


Помог: 0 раз(а)




Добрый день, на сайте установлены:

1. joomla 3.5
2. Helix V2 framework на Twitter Bootstrap
3. установлен компонент (jQuery v1.11.2)
4. модуль - (jquery/1.11.0/) (jqueryui/1.10.4/)
5. модуль - (jquery/1.8.3/) (jqueryui/1.9.2/)
6. модуль - jplayer ver. 2.9.2 (jQuery v1.11.1) отказывается работать

в гугле пишут что это конфликт mootols и jquery, но отключение mootols проблему не решает

1. сначала была ошибка TypeError: $ is not a function
убрал ее подставив вместо

$(document).ready(function(){

jquery(document).ready(function(){

2. после этого перестал работать jquery на сайте и полезли Uncaught TypeError: this._initPlaylist is not a function
конкретнее:

1/ jPlayerPlaylist @ VM4294 jplayer.playlist.min.js:42
2/ (anonymous function) @ loading:79
3/ j @ jquery.min.js:2
4/ k.fireWith @ jquery.min.js:2
5/ m.extend.ready @ jquery.min.js:2
6/ J @ jquery.min.js:2

подскажите пожалуйста как исправить эти ошибки

(Отредактировано автором: 18 Июля, 2016 - 12:01:04)

 
 Top
IllusionMH
Отправлено: 13 Июля, 2016 - 20:09:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Oscrib, и зачем так много версий жуквери? Обязательно нужен правильный порядок подключения jquery и плагинов. Скорее всего плагин подключился к одному инстансу jQuery а а на странице используется уже подключенный после.
 
 Top
Oscrib
Отправлено: 13 Июля, 2016 - 20:23:53
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016  


Помог: 0 раз(а)




IllusionMH пишет:
Oscrib, и зачем так много версий жуквери? Обязательно нужен правильный порядок подключения jquery и плагинов. Скорее всего плагин подключился к одному инстансу jQuery а а на странице используется уже подключенный после.


на сайте вроде один подключил - jQuery v1.11.3
это я указал версии требуемые для корректной работы модулей и плагинов

(Отредактировано автором: 13 Июля, 2016 - 20:25:18)

 
 Top
IllusionMH
Отправлено: 13 Июля, 2016 - 20:41:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Oscrib, откройте исходники страницы и убедитесь что jQuery подключается только 1 раз, и плагин подключается только после этого
 
 Top
Viper
Отправлено: 13 Июля, 2016 - 22:14:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Oscrib пишет:
убрал ее подставив вместо
jQuery


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Oscrib
Отправлено: 14 Июля, 2016 - 15:51:49
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016  


Помог: 0 раз(а)




чтобы перенести jquery-noconflict.js ниже, и подключить через index.html я закомментировал в документе helix.php строку:

self::getInstance()->addJS( 'jquery-noconflict.js' );

отказало главное меню с ошибкой Uncaught ReferenceError: spnoConflict is not defined на эту строку:

spnoConflict(function($){

после чего я заменил spnoConflict на jQuery и появилась ошибка Uncaught ReferenceError: spnoConflict is not defined (anonymous function) со ссылкой на этот код в index.html

<script src="/templates/shaper_maxima/js/fixed-menu.js" type="text/javascript"></script>

вот сам код fixed-menu.js

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. jQuery(function($){
  3.         $(window).on('scroll', function(){
  4.                 if( $(window).scrollTop()>205 ){
  5.                         $('#sp-menu-wrapper').addClass('menu-fixed');
  6.                 } else {
  7.                         $('#sp-menu-wrapper').removeClass('menu-fixed');
  8.                 }
  9.         });
  10.  
  11.         $('.sp-main-menu-toggler').on('click', function(e){
  12.                 e.preventDefault();
  13.         });
  14.  
  15.         $('.sp-main-menu-toggler').appendTo('#sp-menu');
  16.         $('.sp-mobile-menu').appendTo('#menu');
  17. });
  18.  
 
 Top
IllusionMH
Отправлено: 14 Июля, 2016 - 16:02:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Oscrib, вы сообще код 'jquery-noconflict.js' смотрели? там и объявлялась эта переменная и скорее всего много где используется, так что врядли вариант убирать no-conflict, а вот в вашем коде стоит убрать $ и использовать jQuery.

либо ноконфликт менять на var spo... = jQuery

(Отредактировано автором: 14 Июля, 2016 - 16:02:58)

 
 Top
Oscrib
Отправлено: 14 Июля, 2016 - 17:18:36
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016  


Помог: 0 раз(а)




IllusionMH пишет:
Oscrib, вы сообще код 'jquery-noconflict.js' смотрели? там и объявлялась эта переменная и скорее всего много где используется, так что врядли вариант убирать no-conflict, а вот в вашем коде стоит убрать $ и использовать jQuery.

либо ноконфликт менять на var spo... = jQuery


Спасибо! Помогло!

Ошибка исчезла, но к сожалению jplayer так и не заработал (
 
 Top
IllusionMH
Отправлено: 14 Июля, 2016 - 18:01:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Oscrib, нужно смотреть как они используют jQuery. Если вдруг им только $ подавай, но конфликт нельзя вызывать, или руками var $ = jQuery.noConflict() добавлять.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB