Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 12.05.2011, 09:18   #1
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
Репутация: 10
По умолчанию Не работает скрипт на 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
Репутация: 28
По умолчанию

В 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
Репутация: 10
По умолчанию

Спасибо за ответ!
То есть у меня получилось
Код:
<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
Репутация: 28
По умолчанию

<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
Репутация: 10
По умолчанию

Так вот ее я и указала в <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
Репутация: 28
По умолчанию

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


03:42.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.