Joomla 3.5 / helix core / bootstrap - конфликт jquery
Здравствуйте, имеется сайт:
1. joomla 3.5 2. Helix V2 framework на Twitter Bootstrap 3. установлен компонент rsform_pro (jQuery v1.11.2) 4. модуль - universal_video_player (jquery/1.11.0/) (jqueryui/1.10.4/) 5. модуль - jux_portfolio (jquery/1.8.3/) (jqueryui/1.9.2/) 6. модуль - jplayer ver. 2.9.2 (jQuery v1.11.1) отказывается работать ( еще есть ошибка: Uncaught TypeError: $ is not a function (на форуме пишут что нужно заменить $ на jquery и мне как новичку непонятно где это сделать подскажите пожалуйста где конфликт и как исправить |
F12 и обновить страницу в консоли покажут где ошибка.
|
пишет страница:81
имеет в виду что 81 строка, но в каком документе? |
не страница а строка и не 81 а 83 и 361 ... скрипты встроены в страницу ... как она у вас формируется мне не известно так что в каком именно файле править нужно подсказать не могу.
Код:
TypeError: $ is not a function |
Вложений: 1
google chrome, посмотреть код элемента, console - верно? (потому что у меня только loading:81 пишет, скриншот прилагаю)
скажите где правильно смотреть |
VideoProm,
Цитата:
|
VideoProm,
никаких jquery/1.8.3/ не должно быть если загрузили jquery/1.11.0/ и в строке 39 исправьте мусор |
Спасибо за советы, как результат я:
1. удалил лишний jquery-noconflict.js (остался 1) 2. при отключении /media/jui/js/bootstrap.min.js в документе bootstrap.php - вместо JHtml::_('script', 'jui/bootstrap.min.js', false, true, false, false, $debug); я прописал JHtml::_('script', 'jui/bootstrap.min.js', false, false, false, false, $debug); и подключении его ниже через index.html - перестают работать кнопки в админке (сайт работает) с ошибкой Uncaught TypeError: $(...).tooltip is not a function и ругается на эту строку: $('*[rel=tooltip]').tooltip(); 3. чтобы перенести jquery-noconflict.js ниже, и подключить через index.html я закомментировал в документе helix.php строку: self::getInstance()->addJS( 'jquery-noconflict.js' ); отказало главное меню с ошибкой Uncaught ReferenceError: spnoConflict is not defined на эту строку: spnoConflict(function($){ |
Цитата:
Цитата:
|
Цитата:
|
благодарю за внимание, по пункту №3
заменил 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 jQuery(function($){ $(window).on('scroll', function(){ if( $(window).scrollTop()>205 ){ $('#sp-menu-wrapper').addClass('menu-fixed'); } else { $('#sp-menu-wrapper').removeClass('menu-fixed'); } }); $('.sp-main-menu-toggler').on('click', function(e){ e.preventDefault(); }); $('.sp-main-menu-toggler').appendTo('#sp-menu'); $('.sp-mobile-menu').appendTo('#menu'); }); меню на сайте не работает p.s. убрал мусор в 39 строке, отказало главное меню (пробовал еще до переноса jquery-noconflict.js ниже) этот мусор генерирует menu.php с кодом <?php /** * @package Helix Framework * @author JoomShaper [url]http://www.joomshaper.com[/url] * @copyright Copyright (c) 2010 - 2015 JoomShaper * @license [url]http://www.gnu.org/licenses/gpl-2.0.html[/url] GNU/GPLv2 or Later */ //no direct accees defined ('_JEXEC') or die('resticted aceess'); class HelixFeatureMenu { private $helix; public function __construct($helix){ $this->helix = $helix; } public function onHeader() { if ($this->helix->megaMenuType()=='drop') { $this->helix->addCSS('dropline.css'); $this->helix->addJS('dropline.js'); } elseif($this->helix->megaMenuType()=='split') { $this->helix->addCSS('dropline.css'); } else { $this->helix->addJS('menu.js'); } $this->helix->addCSS('mobile-menu.css'); } public function onFooter() { ob_start(); ?> <a class="hidden-desktop btn btn-inverse sp-main-menu-toggler" href="#" data-toggle="collapse" data-target=".nav-collapse"> <i class="icon-align-justify"></i> </a> <div class="hidden-desktop sp-mobile-menu nav-collapse collapse"> <?php $mobilemenu = $this->helix->loadMobileMenu(); echo $mobilemenu->showMenu(); ?> </div> <?php return ob_get_clean(); } public function Position() { return 'menu'; } public function onPosition() { $menu = $this->helix->loadMegaMenu(); if ($menu) { ob_start(); ?> <div id="sp-main-menu" class="visible-desktop"> <?php echo $menu->showMenu(); ?> </div> <?php if (($this->helix->megaMenuType()=='split') && $menu->hasSub() || $this->helix->megaMenuType()=='drop') { if($this->helix->megaMenuType()=='drop'){ $newclass = 'dropline empty '; } else{ $newclass = 'split '; } echo '<div id="sublevel" class="' . $newclass . 'visible-desktop"><div class="container">'; $menu->showMenu(1); echo '</div></div>'; } if (($this->helix->megaMenuType()=='split' && $menu->hasSub()) || $this->helix->megaMenuType()=='drop') { $sublevel=1; } else { $sublevel=0; } if (($this->helix->megaMenuType()=='split') && $menu->hasSub() || $this->helix->megaMenuType()=='drop') { if($this->helix->megaMenuType()=='drop') { $this->helix->addInlineJS("spnoConflict(function($){ function mainmenu() { $('#sp-main-menu').droplinemenu({ sublevelContainer:$('#sublevel > div') }); } mainmenu(); $(window).on('resize',function(){ mainmenu(); }); });"); } } else { $this->helix->addInlineJS("spnoConflict(function($){ function mainmenu() { $('.sp-menu').spmenu({ startLevel: 0, direction: '" . $this->helix->direction() . "', initOffset: { x: ".$this->helix->Param('init_x',0).", y: ".$this->helix->Param('init_y',0)." }, subOffset: { x: ".$this->helix->Param('sub_x',0).", y: ".$this->helix->Param('sub_y',0)." }, center: ".$this->helix->Param('submenu_position',0)." }); } mainmenu(); $(window).on('resize',function(){ mainmenu(); }); });"); } return ob_get_clean(); } } } |
VideoProm,
с php не смогу помочь, нужен другой специалист. |
спасибо за совет, уже ищу php специалиста, но помогите пжлста по js, я следуя вашим советам заменил 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 jQuery(function($){ $(window).on('scroll', function(){ if( $(window).scrollTop()>205 ){ $('#sp-menu-wrapper').addClass('menu-fixed'); } else { $('#sp-menu-wrapper').removeClass('menu-fixed'); } }); $('.sp-main-menu-toggler').on('click', function(e){ e.preventDefault(); }); $('.sp-main-menu-toggler').appendTo('#sp-menu'); $('.sp-mobile-menu').appendTo('#menu'); }); |
VideoProm,
строку 75 <script src="/plugins/system/helix/js/jquery-noconflict.js" type="text/javascript"></script> перенесите в строку 30 spnoConflict у вас формируется в 70 строке , а начинает использоваться в 37 !!! сколько раз писать Цитата:
|
Часовой пояс GMT +3, время: 12:59. |