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
Форумы портала PHP.SU :: Версия для печати :: в джумле не работает js
Форумы портала PHP.SU » » CMS и фреймворки » в джумле не работает js

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

1. kuller - 02 Марта, 2012 - 20:13:22 - перейти к сообщению
подскажите пожалуста как в джумле писать правильно js? мне нужно свернуть/развернуть блок. пишу в шаблоне index.php

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. $("document").ready(function() {
  4.      $("#btn").click(function()
  5.      {
  6.         $("#s5_cart_wrap").slideToggle(2000);
  7.    });
  8. });
  9. </script>
  10. <div id="btn">click</div>
  11. <div id="s5_cart_wrap">текст</div>
  12.  


jquery подключён.
2. DelphinPRO - 02 Марта, 2012 - 20:18:58 - перейти к сообщению
в джумле используется mootools. В MooTools также используется символ $.
Если хочешь юзать jquery, то переключи его в безконфликтный режим и используй полную запись для обращения к объекту Jquery

CODE (javascript):
скопировать код в буфер обмена
  1. jQuery.noConflict();
  2. jQuery("document").ready(function() {
  3.      jQuery("#btn").click(function()
  4.      {
  5.         jQuery("#s5_cart_wrap").slideToggle(2000);
  6.    });
  7. });


или так

CODE (javascript):
скопировать код в буфер обмена
  1. $j = jQuery.noConflict();
  2. $j("document").ready(function() {
  3.      $j("#btn").click(function()
  4.      {
  5.         $j("#s5_cart_wrap").slideToggle(2000);
  6.    });
  7. });
3. kuller - 02 Марта, 2012 - 20:21:37 - перейти к сообщению
DelphinPRO пишет:
в джумле используется mootools. В MooTools также используется символ $.
Если хочешь юзать jquery, то переключи его в безконфликтный режим и используй полную запись для обращения к объекту Jquery

CODE (javascript):
скопировать код в буфер обмена
  1. jQuery.noConflict();
  2. jQuery("document").ready(function() {
  3.      jQuery("#btn").click(function()
  4.      {
  5.         jQuery("#s5_cart_wrap").slideToggle(2000);
  6.    });
  7. });


или так

CODE (javascript):
скопировать код в буфер обмена
  1. $j = jQuery.noConflict();
  2. $j("document").ready(function() {
  3.      $j("#btn").click(function()
  4.      {
  5.         $j("#s5_cart_wrap").slideToggle(2000);
  6.    });
  7. });


ооо... спасибо!! все работает.
4. DelphinPRO - 02 Марта, 2012 - 20:22:47 - перейти к сообщению
Если не планируется подключать расширения использующие Mootools то можно вставить такой код в начало шаблона
CODE (htmlphp):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <?php
  5. /****************************************************
  6.  * Отключаем фреймворк Mootools в фронтенде         *
  7.  ****************************************************/
  8. $user = JFactory::getUser();
  9. if ($user->get('guest') == 1 or $user->usertype == 'Registered') {
  10.         $headerstuff = $this->getHeadData();    
  11.         $tmp = array();
  12.         foreach ($headerstuff['scripts'] as $path=>$type) {
  13.                 if ( !preg_match('#media/system/js#i', $path, $ar) ) $tmp[$path] = $type;
  14.         }
  15.         $headerstuff['scripts'] = $tmp;
  16.         $this->setHeadData($headerstuff);
  17.         }
  18. ?>
  19.         <jdoc:include type="head" />
  20. ...
  21. </head>

Таким образом MooTools вообще не будет подключаться и соответственно загружаться браузером. И можно пудет использовать доллар в JQuery скриптах

 

Powered by ExBB FM 1.0 RC1