Jquery аккордеон

Главные вкладки

Аватар пользователя spamerok spamerok 21 апреля 2009 в 2:34

Доброго дня всем уважаемым друпалавцам!

Вот стоит передо мной острейшая проблема: пытаюсь заставить работать аккордеон, который входит в состав модуля jquery-ui. Использую такой код в ноде:

<?php
drupal_add_css('modules/jquery_ui/jquery.ui/themes/ui-lightness/ui.accordion.css', 'module', 'all', FALSE);
drupal_add_js (
    '$(document).ready(function(){$("#accordion").accordion({ event: "mouseover" });}); ',
    'inline');

drupal_add_js('modules/jquery_ui/jquery.ui/ui/ui.accordion.js');
drupal_add_js('modules/jquery_ui/jquery.ui/ui/ui.core.js');
?>
 

<div id="accordion">
        <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>

И естественно ничего не работает. Одно время, правда, при наведении мышки на заголовок h3 резко выскакивал каждый из отдельных слоев, но потом и это само собой пропало. Буду невероятно благодарен за любую помощь.

Комментарии

Аватар пользователя aristeo aristeo 31 октября 2009 в 16:31

Я так понимаю, что у автора поста этот код заработал. У меня почему-то нет Sad
Расскажу по пунктам что сделал:
-Установил модули jquery_ui, jquery_update, скачал jquery.ui-1.6.zip вот отсюда: http://code.google.com/p/jquery-ui/downloads/list?can=3&q=1.6

-Создал в тестовой теме mygarland папку ui, туда закинул jquery-1.2.6.js, переименовал на ui.js;
- закинул туда же ui.accordion.js и ui.core.js

-код для теста вставил в page.tpl.php:

<?php
 drupal_add_js('themes/mygarland/ui/ui.js');
 drupal_add_js('themes/mygarland/ui/ui.accordion.js');
 drupal_add_js('themes/mygarland/ui/ui.core.js');
 drupal_add_js (
   '$(document).ready(function(){$("#accordion").accordion({ event: "mouseover" });}); ',
   'inline');
?>
<div id="accordion">
        <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>

--------------------------------------
Что я сделал неправильно? Помогите нубу Smile Буду благодарен за любую помощь.

Аватар пользователя AlexanderPop@drupal.org AlexanderPop@dr... 30 августа 2010 в 13:38

1. http://code.google.com/p/jquery-ui/downloads/ скачиваем последнюю версию или http://jqueryui.com/download
2. моятема.info

scripts[] = js/jquery-1.4.2.js
  scripts[] = js/ui/jquery-ui.js
  scripts[] = js/ui/jquery.ui.accordion.js

(из папки что скачали)
3.

<script type="text/javascript">
        $(function() { $("#accordion").accordion();
        });
        </script>

в page.tpl.php
4.

<div id="accordion">
        <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>

куда хочется.

P.S. что не грузить js файлы на каждой странице, можно прикрутить на отдельную
<?php
drupal_add_js(path_to_theme() . '/js/jquery-1.4.2.js');
drupal_add_js(path_to_theme() . '/js/ui/jquery-ui.js');
drupal_add_js(path_to_theme() . '/js/ui/jquery.ui.accordion.js');
?>

одно "но" - lightbox2 модуль использовать dev версию - т.к. 1.9 будет добавлять себя во все линки. в дев версии пофиксили

у меня работает
успехов

Аватар пользователя bpisk bpisk 7 декабря 2010 в 7:12

Все сделал как сказал AlexanderPop@dr... , все равно не получается
Куда именно вставлять

<script type="text/javascript">
        $(function() { $("#accordion").accordion();
        });
        </script>

в page.tpl.php???

Аватар пользователя Antoniy Antoniy 26 декабря 2012 в 23:17

Если в body ноды вставить пути к скриптам, которые будут лежать в директории, скачанной с http://jqueryui.com/download/ (положил в папку с темой оформления)

       
<script src="/sites/all/themes/my_theme/jquery-ui-1.9.2.custom/js/jquery-1.8.3.js"></script>
<script src="/sites/all/themes/my_theme/jquery-ui-1.9.2.custom/js/jquery-ui-1.9.2.custom.js"></script>
<script>
$(function() {
        $( "#accordion" ).accordion();
});
</script>

А потом

<div id="accordion">
    <h3>First header</h3>
    <div>First content panel</div>
    <h3>Second header</h3>
    <div>Second content panel</div>
</div>

То все работает.