Мирон Яцкевич
5629 сообщений
#13 лет назад
Как на Joomlа сделать плавное разворачивание верхнего меню ?
Как в этом примере -

У меня пример почему-то не работает.

Известные модули, которые реализуют этот эффект как правило идут со своим дизайном,
который никому не нужен. При чем попытки прописать в них стили ни к чему также не приводят.

Вопрос актуален для Joomla 1.5.23
Евгений Б.
5330 сообщений
#13 лет назад
В примере mootool используется, а в джумле у Вас скорее всего jQuery
они конфликтуют. это в FireBug видно по логу.
как вариант еще имена стилей могут быть другими в Вашем варианте.
Мирон Яцкевич
5629 сообщений
#13 лет назад
Цитата ("ArtPro"):
как вариант еще имена стилей могут быть другими в Вашем варианте.

Первое вряд ли, так как во первых в таких случаях во первых IE сразу же "кричит" об ошибках.
Во вторых я тестирую на совсем чистой Joomla без кода, который мог бы вызывать конфликт.

Что же касается имен то если Вы обратили внимание в примере предусмотрена возможность подставлять суффикс.
Кстати если просмотреть HTML работающего примера то там ничего не подставлено.

Разве, что в примере это не реализовано как надо
Евгений Б.
5330 сообщений
#13 лет назад
Сайт покажите свой
Мирон Яцкевич
5629 сообщений
#13 лет назад
Евгений Б.
5330 сообщений
#13 лет назад
$$('ul.menu li.parent'.each(function( liparent )
ul.menu - для ul класс menu смотрится
в Вас <ul class="art-menu"> класс art-menu


и почему два "$"?
Мирон Яцкевич
5629 сообщений
#13 лет назад
Art-menu теоретически должно подставляться в div.moduletable/*_ваш_суффикс_модуля*/{

Но так не работает.

С одним $ такой же результат. Да и в HTML работающего примера два значка
Евгений О.
2989 сообщений
#13 лет назад
Вот здесь рабочий пример с исходниками такого меню.
Владимир О.
206 сообщений
#13 лет назад
Попробуйте
Оно 100% рабочее - сам использовал. И стили меняются легко

Цитата ("ArtPro"):
и почему два "$"?

Возвращает массив элементов
Евгений Б.
5330 сообщений
#13 лет назад
Цитата ("mirekua"):
Art-menu теоретически должно подставляться в div.moduletable/*_ваш_суффикс_модуля*/{

в коде написано $$('ul.menu li.parent'.each(function( liparent )
Мирон Яцкевич
5629 сообщений
#13 лет назад
У меня не заработал ни один из приведенных примеров.

Хотя я даже установил каркасный шаблон (то есть минимальный) на jooml-у и прописал библиотеки mootools, которые идут с примерами

Но в 1.5.23 и так установлена Mootools 1.2.5
Евгений О.
2989 сообщений
#13 лет назад
У Вас там кусок window.addEvent('domready'... заремин. Откройте его, чтобы можно было хотя бы ошибки псмотреть.)
Мирон Яцкевич
5629 сообщений
#13 лет назад
elosoft, я на локалке тестирую. Тот сайт уже сдан заказчику
Могу код скинуть
Евгений О.
2989 сообщений
#13 лет назад
Если действительно надо проверить, то в отписал в личку email куда можно отправить. Просто через сохранение страницы получаетс не рабочая страница и там не потестируешь.
Владимир О.
206 сообщений
#13 лет назад
Вот пример страницы с MooDropMenu

html:
<ul class="top_menu" id="top_menu">
<li><a href="/novosti/">Новости</a></li>
<li><a href="/programms/">Программы</a>
<ul class="l2">
<li><a href="/programms/premiya/">Премия за лучшую дипломную работу о Нидерландах</a></li>
<li><a href="/programms/wednesday/">Голландская среда</a></li>
<li><a href="/programms/salon/">Нидерландские гостиные</a></li>
<li><a href="/programms/fond_vilgelminy_e_yansen/">Фонд Вильгельмины Э.
Янсен</a></li>
<li><a href="/programms/perevodcheskie_seminary/">Переводческие семинары</a></li>
<li><a href="/programms/vypuskniki/">Выпускники</a></li>
</ul>
</li>
.............
</ul>


яваскрипт:
window.addEvent('domready', function(){
$('top_menu').MooDropMenu({
onOpen: function(el){
el.fade('in')
},
onClose: function(el){
el.fade('out');
},
onInitialize: function(el){
el.fade('hide').set('tween', {duration:500});
}
});
});


Используется mootools 1.3.2
Мирон Яцкевич
5629 сообщений
#13 лет назад
elosoft, спасибо. Хоть задача и не актуальна уже. Но интересно на будущее
Мирон Яцкевич
5629 сообщений
#13 лет назад
Vlad_06, спасибо. Это должно быть то меню к которому прикреплен соответствующий модуль джумла.
Если просто скопировать
<ul class="top_menu" id="top_menu">
<li><a href="/novosti/">Новости</a></li>
<li><a href="/programms/">Программы</a>
<ul class="l2">

То не заработает.

Долго копаться
Владимир О.
206 сообщений
#13 лет назад
Цитата ("mirekua"):
Это должно быть то меню к которому прикреплен соответствующий модуль джумла. Если просто скопировать

А это - стандартное меню, гененрируемое ЮМИ. Не думаю, что Джумла сильно делает иначе.
Указание на меню, которое нужно обработать, передается в конструктор через id меню вот так: $('top_menu'.MooDropMenu . Вместо прямого указания id можно передать ссылку на элемент:

var menu = $('top_menu'; //или
menu.MooDropMenu .....

классы там я задавал для себя, для выпадалки они не нужны.

Т.о. вам нужено только правильно сформированный список у которого задан id, и указание этого id в конструкторе.
Список генерируется модулем, как задать ему id в джумле я не знаю, но как-то наверно можно.