Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > WordPress и другие CMS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 09:18   #1
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
По умолчанию Не работает скрипт на JQuery в CMS Joomla

Здравствуйте!
Есть вот такой скрипт
Код:
<script type="text/javascript">
			$(document).ready(function(){
				$('.boxgrid.captionfull').hover(function(){
$(".cover", this).stop().animate({top:'150px'},{queue:false,duration:160});
}, function() {
$(".cover", this).stop().animate({top:'205px'},{queue:false,duration:160});
});
			});
		</script>
На страничке html (на компьютере) все работает. В Joomla (на сервере) - нет.
Что не так, подскажите, пожалуйста.
Иванна вне форума Ответить с цитированием
Старый 12.05.2011, 10:39   #2
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

В Joomla используется JS-фреймворк mootools, поэтому при подключении jQuery, необходимо отменить определение $ для jQuery. Другими словами, подключение jQuery должно происходить так:
Код:
<script scr="jQuery.js">jQuery.noConflict();</script>
и скрипт ваш должен быть переписан так:
Код:
<script type="text/javascript">
     jQuery(document).ready(function(){
          jQuery('.boxgrid.captionfull').hover(function(){
               jQuery(".cover", this).stop().animate({top:'150px'},{queue:false,duration:160});
          }, function() {
               jQuery(".cover", this).stop().animate({top:'205px'},{queue:false,duration:160});
          });
     });
</script>
KPEATuBHO вне форума Ответить с цитированием
Старый 12.05.2011, 10:56   #3
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
По умолчанию

Спасибо за ответ!
То есть у меня получилось
Код:
<head>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/js/slider.js">jQuery.noConflict();</script>
</head>
И в статье
Код:
<script type="text/javascript">
     jQuery(document).ready(function(){
          jQuery('.boxgrid.captionfull').hover(function(){
               jQuery(".cover", this).stop().animate({top:'150px'},{queue:false,duration:160});
          }, function() {
               jQuery(".cover", this).stop().animate({top:'205px'},{queue:false,duration:160});
          });
     });
</script>
В подключаемой библиотеке поменяла все $ на jQuery. Не работает.
Иванна вне форума Ответить с цитированием
Старый 12.05.2011, 11:45   #4
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/js/jquery.js">jQuery.noConflict();</script>

вот эта строка должна быть для подключения jQuery к шаблону.
KPEATuBHO вне форума Ответить с цитированием
Старый 12.05.2011, 11:57   #5
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
По умолчанию

Так вот ее я и указала в <head></head>.
Может сам скрипт неправильно написан? Тогда почему он работает на компьютере?
Для проверки конфликта я вставила в начало скрипта alert
Код:
<script type="text/javascript">
alert ('123');
     jQuery(document).ready(function(){
          jQuery('.boxgrid.captionfull').hover(function(){
               jQuery(".cover", this).stop().animate({top:'150px'},{queue:false,duration:160});
          }, function() {
               jQuery(".cover", this).stop().animate({top:'205px'},{queue:false,duration:160});
          });
     });
</script>
Так вот, на сайте "123" при загрузке страницы высвечивается, а скрипт не работает.
Иванна вне форума Ответить с цитированием
Старый 12.05.2011, 12:04   #6
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

вообще самый идеальный вариант (если у вас mozilla) поставить плагин firebug (в нем включить консоль) и он вам будет показывать все JS ошибки. Если опера, кликаете правой кнопкой мыши по сайту, далее жмете проинспектировать, там закладка "консоль ошибок" и там будет высвечена ошибка. Ну или просто можете дать ссыль на сайт и я бы сам глянул)
KPEATuBHO вне форума Ответить с цитированием
Старый 12.05.2011, 12:18   #7
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
По умолчанию

Сейчас я и сама гляну в консоли FF. И ссыль даю http://www.gkag.ru/portfolio.html
Иванна вне форума Ответить с цитированием
Старый 13.05.2011, 12:55   #8
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
По умолчанию

Цитата:
Может сам скрипт неправильно написан? Тогда почему он работает на компьютере?
ИМХО, вся ваша проблема в том, что путь до JQuery.js неверно прописан.
В Firefox ПКМ->Исходный код страницы.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 13.05.2011, 14:10   #9
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
По умолчанию

В общем, проблему решила так: опытным путем выяснила что скрипт отказывается работать потому что в голове шаблона подключены файлы js, конфликтующие с библиотекой и скриптом, которые я подключаю. Что только не делалось: и названия функций я меняла, и $ на jQuery меняла, и адреса подключения библиотеки я тоже проверяла и т.д. и т.п. Поскольку скрипт этот нужен только на одной странице, то сам скрипт я оставила без изменений, подключение библиотеки ЭТОГО скрипта засунула в модуль произвольного HTML, сделала его доступным только на определенной странице, которая является пунктом меню (здесь мне повезло, если бы это была обычной страницей, а не пунктом меню, то вообще не знаю как бы я выкручивалась), поместила модуль в <head>, а конфликтующие библиотеки засунула в модуль с той же позицией, но доступными во всех пунктах меню, кроме того, где и разместился этот злополучный скрипт. Не знаю чем эти скрипты и библиотеки так друг другу не угодили, но все работает - и хорошо! Спасибо всем!
Иванна вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт приема фотографий на печать через форму на сайте для CMS Joomla 1.5 Hagall Фриланс 2 03.11.2011 00:38
CMS Joomla и Yandex Map Иванна WordPress и другие CMS 0 10.03.2011 09:16
Настройки Joomla! CMS unicode WordPress и другие CMS 3 14.07.2009 18:31
Joomla! CMS, проблема с псевдонимами unicode WordPress и другие CMS 6 12.07.2009 22:55