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

Gurov

  • Новичок
  • 9
  • 0 / 0
jQuery и MooTools
« : 13.05.2008, 13:23:45 »
Существует-ли возможность подружить библиотеки jQuery (её использует форум) и MooTools (уже используется на сайте)?

При работе вместе возникает конфликт и MooTools перестаёт работать.
Нашёл статью как совместить jQuery с другими библиотеками, но к сожалению не хватет знаний совершенно в Ява-скрипте.
Может ли кто помочь в такой проблеме?
*

CyCaHuH

  • Новичок
  • 8
  • 0 / 0
Re: jQuery и MooTools
« Ответ #1 : 13.05.2008, 14:03:51 »
Существует-ли возможность подружить библиотеки jQuery (её использует форум) и MooTools (уже используется на сайте)?

По сути две библиотеки одинаковы, по этому функционал пересекается и не работает.
Предложенное решение в статье, уводит читателя в изучения Явыскриптов, и это хорошо, птомушта придется писать функции под каждый используемый элемент :)

Я лично сторонник минимализма, если подумать то 2 библиотеки это по сути 300кб наф ненужного кода, используемого 2-3 раза. Поэтому вывод — Если это необходимо, то научись этим пользоватся! Если это не нужно то.... наф об этом думать....)))
*

Gurov

  • Новичок
  • 9
  • 0 / 0
Re: jQuery и MooTools
« Ответ #2 : 13.05.2008, 16:16:10 »
Т.е. малой кровью тут не отделаться, я правильно понимаю?

Вот в описании к релизу Fireboard 1.0.4 говрится:
Цитировать
jQuery vs MooTools Problem / Javascript Errors / Quickreply boxes still showing

The reason behind it is the conflict of old jQuery versions (prior to 1.2.1) with MooTools Javascript library. As of FireBoard 1.0.4, jQuery 1.2.1 is used. So, if you have someway MooTools in your website (like rockettheme templates) and older FireBoards, most probably you will have this problem.

The solution to this problem is remove all the occurences of “any” other jQuery.js library, for example delete the line from ClexusPM mambot, that are older than 1.2.1 and using only one instance of jQuery.js, preferably the one shipped with FireBoard.

Checklist:

   1.      Only 1 jQuery file is loaded and the version is higher than 1.2.1
   2.      jQuery.js is on the top of all other Javascripts loaded in the page
   3.      You might have to refresh the browsers cache to see the problem go away.
   4.      jQuery and jQuery.packed.js (minified) are the same, just lower in size

Обновил jQuery, всё по их рекомендациям сделал, не помогло.
« Последнее редактирование: 13.05.2008, 16:23:31 от Gurov »
*

CyCaHuH

  • Новичок
  • 8
  • 0 / 0
Re: jQuery и MooTools
« Ответ #3 : 13.05.2008, 17:29:44 »
Предпологаецо кусками нарезать библиотеки, но в каждой есть свое ядро которое всеравно противоречит другому, т.е. можно поробывать взять мини ядро jQuery и так же поступить с Мутулсом благо там есть возможность выбрать при скачивании что тебе надо, но это врятли поможет если ты используешь шаблоны Yoothem или Rocketa и т.д. Там по умолчанию воткнута библиотека Мутулс и доработаны скрипты под свои модули.
Выход из этого вижу в построение уже своих библиотек и последующего внедрения. Только выбор остается за тобой кому отдашь предпочтение jQuery или MooTools.
*

Gurov

  • Новичок
  • 9
  • 0 / 0
Re: jQuery и MooTools
« Ответ #4 : 13.05.2008, 18:51:52 »
Пасиб за рзъяснения
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
Re: jQuery и MooTools
« Ответ #5 : 14.05.2008, 01:21:21 »
В JQuery есть замечательная функция - noconflict(). Курить ее. :)
*

Gurov

  • Новичок
  • 9
  • 0 / 0
Re: jQuery и MooTools
« Ответ #6 : 14.05.2008, 09:49:32 »
Читал-читал именно про noconflict(), но пока не готов самостоятельно курить java-script.
Вот и решил попросить помощь.  ^-^
*

user915

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: jQuery и MooTools
« Ответ #7 : 18.07.2008, 13:39:39 »
Step 1:

Open fireboard.php (located in your /components/com_fireboard folder).

Scroll down to or around line 141:Code:
// Add required header tags
$mainframe->addCustomHeadTag('');
$mainframe->addCustomHeadTag('
//1: show, 0 : hide
jr_expandImg_url = "' . JB_URLIMAGESPATH . '";');


And comment out the $mainframe->addCustomHeadTag call.Code:
// Add required header tags
// $mainframe->addCustomHeadTag('');
$mainframe->addCustomHeadTag('
//1: show, 0 : hide
jr_expandImg_url = "' . JB_URLIMAGESPATH . '";');



Step 2:

Open your templates' index.php file (located in your templates/whatever_template/ folder).

Find your opening tag somewhere. This is taken from yoo_page:Code:
 
" lang="language; ?>" dir="direction; ?>" >
 
Спасибо chaosknign

Рано радоваться, в этом случае не работает кнопка быстрого ответа...
« Последнее редактирование: 18.07.2008, 15:48:26 от user915 »
*

TrillipuT

  • Новичок
  • 1
  • 1 / 0
Re: jQuery и MooTools
« Ответ #8 : 13.09.2010, 16:27:51 »
сразу после объявления библиотек пишем:
 <script type="text/javascript">
     jQuery.noConflict();
 </script>

В самом скрипте знаки долара $ заменяем на jQuery. То есть если у нас была такая функция:
 $(document).ready(function()
 {
    $("#idv p.testclass").click(function()
    { /* .... */ }
 }

после замены будет выглядить:
 jQuery.noConflict();
 jQuery(document).ready(function()
 {
    jQuery("#idv p.testclass").click(function()
    { /* .... */ }
 }
*

k_voronin

  • Новичок
  • 7
  • 1 / 0
Re: jQuery и MooTools
« Ответ #9 : 23.12.2010, 15:58:41 »
Господин CyCaHuH, если вам охота по каждому скрипту библиотеки писать, это ваши проблемы. если не знаете решения, зачем флудить?

TrillipuT, спасибо большое! очень помогли! Мучался с этим конфликтом не один час!
*

asomnia

  • Захожу иногда
  • 183
  • 12 / 0
Re: jQuery и MooTools
« Ответ #10 : 28.12.2010, 21:17:34 »
очень странно, попробовала ваш вариант - работает, конфликта нет .. но и эффекта тоже.. 1из 2 всеравно не работает..теперь все расширения надо просматривать на наличие версий библиотек и делать их в одной либо mootolls либо  jquery ..
*

igoryk

  • Захожу иногда
  • 183
  • 11 / 0
Re: jQuery и MooTools
« Ответ #11 : 28.01.2011, 01:23:05 »
*

Steb_Go

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Re: jQuery и MooTools
« Ответ #12 : 03.02.2011, 02:27:09 »
была такая же проблема
не мог подружить с шаблонами на MooTools данный код

Код
<script type="text/javascript" src="http://yandex.st/jquery/1.4.2/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
$('.stebgo').each(function(){
      $(this).animate({opacity:'0.6'},1);
      $(this).mouseover(function(){
          $(this).stop().animate({opacity:'1.0'},400);
      });
      $(this).mouseout(function(){
          $(this).stop().animate({opacity:'0.6'},400);
      });
});
});
</script>

исслпользовал следующее
Код
<script type="text/javascript">
jQuery.noConflict();
(function($) {
    // Внутри этого блока $ относится к jQuery, здесь пишем код на  jQuery
})(jQuery);
</script>

получил

Код
<script type="text/javascript" src="http://yandex.st/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
jQuery.noConflict();
(function($) {
    $(document).ready(function(){
$('.stebgo').each(function(){
      $(this).animate({opacity:'0.6'},1);
      $(this).mouseover(function(){
          $(this).stop().animate({opacity:'1.0'},400);
      });
      $(this).mouseout(function(){
          $(this).stop().animate({opacity:'0.6'},400);
      });
});
});
})(jQuery);
</script>

все заработало *DRINK*

зы

если последний код впихнуть в index.php шаблона перед </head>, то добовляя класс class="stebgo" к любому элементу сайта получите эффект затухания при наведении курсора
например
Код
<img class="stebgo" style="position: absolute; left: 120px; top: 120px;" src="images/leftmenu/afisha.png" alt="Афиша" /></a><a href="../pages/info/tales"> 

animate({opacity:'1.0'},400); тут 1.0 - прозрачность 400 время затухания 1-й opacity то что при загрузке 2-й что при навидении 3-й когда курсор уберете

выложил так как сам долго искал как это сделать  ^-^
« Последнее редактирование: 07.02.2011, 02:39:00 от Steb_Go »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться