Добрый день!
Я совсем недавно увлекся работой с замечательным Drupal, и вопрос у меня совсем неоригинальный.
Дело в том, что я хочу настроить вывод содержимого ноды в виде аккордеона на jQuery. В процессе подключения этой библиотеки я столкнулся с невероятными трудностями.
Сначала я пользовался модулем content template и вводил код drupal_add_js в тело ноды. Однако, функции не выполнялись (должно было происходить плавное сползание текста).
drupal_add_js(
'$(document).ready(function(){
$("p").slideDown("slow");
});',
'inline'
);
?>
Потом я вставил этот же код в ноду типа Page c фильтром php code. Опять же ничего не происходило. Однако в коде страницы все время присутствовала строчка <script type="text/javascript" src="/misc/jquery.js?L"></script>
и ведь ничего не происходило.
Потом я насильно вставил приведенную строчку в шаблон bluemarine и опять ничего не произошло. На странице http://drupal.org/node/302193 все описано так, как я и делал.
Буду очень благодарен за совет. Очень хочется научиться присваивать различные эффекты jQuery объектам
Комментарии
используйте firefox + firebug смотрите в код страницы, если вашего кода нет на странице в том месте где он должен, значит либо кеш либо функция не сработала. ну и тут отпишитесь
Вот поставил jQuery_update и в хеде такая запись:
<script type="text/javascript" src="/modules/jquery_update/replace/jquery.packed.js?j"></script>
Видимо она и вызывает jquery. сама страница вот: http://miko.forad.ru/node/7 на ней сейчас текст из примера, вызывается такой функцией:
drupal_add_js (
'$(document).ready(function(){$("p.jtest").fadeIn(6000);}); ',
'inline');
?>
<p class="jtest" style="background-color: palegreen; width: 30em;">
This is an example of an effect which is built into the core jQuery
library. This text should fade in after the DOM is loaded. <a
href="http://api.drupal.org/api/HEAD/function/drupal_add_js">
drupal_add_js()</a> was used to add the <a href="http://jquery.com/api/"> fadeIn</a> effect to any paragraph with the class <b>jtest</b>.
</p>
Честно говоря, я в firebug так и не разглядел, сработал скрипт или нет (ну ничего не изменилось визуально). Спасибо за то что откликнулись!
правильно все сделали, скрипт работает, но визуально вы не увидите
у вас fadeIn - раскрывает элемент, который уже раскрыт и ничего непроисходит
сделайте fadeOut и увидите
удачи!
Огромное спасибо! При изменении на fadeOut, блок медленно растаял (и даже пропал вообще)! Любовался на это полчаса. И тут же решил прикрутить аккордеон. Добавил при помощи drupal_add_js следующие скрипты из набора jQuery:
<script type="text/javascript" src="/modules/jquery_ui/jquery.ui/ui/ui.accordion.js?j"></script>
И страница стала загружаться нереально медленно! При загрузке страницы видно, как нижние три пункта сворачиваются, но при наведении на них мышки (и клике) не разворачиваются. Функцию я взял напрямую из демосов jQuery. Выглядит она так:
<!--//--><![CDATA[//><!--
$(function() {
$("#accordion").accordion();
});
//--><!]]>
</script>
А сам элемент выглядит так:
<h3><a href="#">Accordion Header 1</a></h3>
<div>
Accordion Content 1
</div>
<h3><a href="#">Accordion Header 2</a></h3>
<div>
Accordion Content 2
</div>
<h3><a href="#">Accordion Header 3</a></h3>
<div>
Accordion Content 3
</div>
</div> </div>
Все издевательства я по-прежнему провожу на странице http://miko.forad.ru/node/7
Заранее спасибо за любые предложения!
Помогите, пожалуйста, ньюбу запустить несчастный аккордеон...
Тема все еще актуальна. Буду благодарен, если кто-то откликнется из тех, кто устанавливал jQuery-аккордеон в ноду. Подскажите, какую функцию вызывать для аккордеона! И обязателен ли аккордеоновский css-файл ?
http://www.drupal.ru/node/29612 посмотрите тут. мне правда надо было добавить не аккордеон, а Slide эффект к методам show и hide, но принцип раскрыт в посте, так что может помочь:)
Всем првет.
Подскажите как установить jquery_ui? После установки модуля интеграции он появляется в /admin/build/modules но при попытке его вкл выпадает "The jQuery UI plugin is missing" Все попытки с манипуляциями дистириба не дают результата.(Установлен Drupal6 локально)
kettle,а прочитать инструкцию к модулю слабо?
penexe я читал инструкцию но не внимательно... Спасибо разобрался.
Перепробовал все варианты.
Вот это не понятно.
««Extract it as a sub-directory called 'jquery.ui' in the jquery_ui folder:/sites/all/modules/jquery_ui/jquery.ui/»»
В архиве есть папка jquery.ui-1.6.В ней ее содержимое.
Пробовал:
...modules/jquery_ui/jquery.ui/jquery.ui-1.6/c содержимым
...modules/jquery_ui/jquery.ui/содержимое папки jquery.ui-1.6
...modules/jquery_ui/jquery.ui-1.6/c содержимым
Как структура папок должна быть?
Тока я папку переименовал "-1.6" убрал, получилось modules/jquery_ui/jquery.ui. Работает.