Форум русской поддержки Joomla!® CMS
09.12.2016, 02:09:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

JE Accordion Menu как замедлить анимацию

 (Прочитано 899 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« : 30.01.2016, 20:06:20 »

Доброго дня.  Подскажите как замедлить работу выпадающего меню JE Accordion Menu, в настройках поставила Animation Speed на slow но при наведении мыши как то быстро сворачивается и разворачивается. Вот сайт для наглядности http://www.saroptstroy.com
« Последнее редактирование: 31.01.2016, 17:35:11 от Элана » Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #1 : 30.01.2016, 20:36:40 »

1.У вас ссылка указана на "ftp://ftp//http://www.saroptstroy.com/"
логически понятно, что лишнее надо убрать конечно, но всё же, так к слову.
2.Могли бы и модуль выложить:думаете у всех он стоит, как у вас?
///
Скачал его, посмотрел:
transition: background-position 0.1s linear; у вас в стилях(смотря какой у вас выбран) стоит переход, но!:

в дефолт.пхп

if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
        $('.je_accmenu<?php echo $class_sfx;?> ul:visible').slideUp('<?php echo $speed; ?>');
        checkElement.slideDown('<?php echo $speed; ?>');

значит у вас и скорость регулируется в админке модуля.

Попробуйте задать в коде напрямую число вместо <?php echo $speed; ?>.
« Последнее редактирование: 30.01.2016, 20:48:08 от vipiusss » Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #2 : 30.01.2016, 20:48:15 »

<?php echo $speed; ?>
Да, правильно, она объявдена чуть выше
Код
$speed = $params->get('speed','normal');
В админке она так и называется: "Animation Speed".
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #3 : 30.01.2016, 20:51:16 »

2 robert:
не люблю я в таких модулях такой код(из дефолта):
Показать текстовый блок

Что-то они перемудрили со скриптами:можне же локально и проще сделать было модуль...Имхо.
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #4 : 30.01.2016, 21:01:26 »

Ну, я этот модуль не юзаю, тоже скачал посмотреть ради интереса Azn. А на счет скриптов - как раз наоборот: jQuery грузится только по желанию пользователя. Я обычно тоже так делаю, правда, еще дополнительно проверяю, загружена jQuery или нет.
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #5 : 30.01.2016, 21:04:10 »

А на счет скриптов - как раз наоборот: jQuery грузится только по желанию пользователя.
Я имел ввиду, не люблю ссылки на скрипты и чтобы сайт всё время ссылался куда-то в каждом модуле по своему.
Люблю:есть на "месте", оно моё и под контролем)))
Поэтому часто и конфликты из-за этого:а половину "нужностей" уже в движке есть!
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #6 : 30.01.2016, 21:06:25 »

А, ну да, библиотеку нужно грузить в head и желательно локально.
Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #7 : 31.01.2016, 15:58:31 »

Вы знаете я вам очень признательна, но я не очень поняла, что мне нужно прописать?
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #8 : 31.01.2016, 16:27:29 »

Вы знаете я вам очень признательна, но я не очень поняла, что мне нужно прописать?

/mod_je_accordionmenu/tmpl/default.php
Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #9 : 31.01.2016, 17:30:59 »

Цитировать
Попробуйте задать в коде напрямую число вместо <?php echo $speed; ?>.
где править я поняла, как число задать?
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #10 : 31.01.2016, 18:04:43 »

вместо этого <?php echo $speed; ?> число в ms(милисекунды)
например 1000 - это 1 секунда.
просто укажите число между '
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #11 : 31.01.2016, 18:06:11 »

Код править не надо. Зайдите в админку модуля, найдите пункт "Animation Speed" или что-то в этом роде, впишите желаемое количество секунд, умножаемое на 1000 (например, 2000 - это 2 секунды), нажмите "Сохранить".
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #12 : 31.01.2016, 18:12:25 »

2 robert:
просто я в админке не видел (и не ставил) и не знал, что там можно указывать не название, а напрямую число.
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #13 : 31.01.2016, 18:14:53 »

Я админку тоже не видел, но код так говорит
Код
$speed = $params->get('speed','normal');
А jQuery понимает и числовые, и текстовые параметры типа "slow", "normal", "fast".
Записан
Efanych
Группа развития
*****

Репутация: +602/-0
Offline Offline

Пол: Мужской
Сообщений: 4320



« Ответ #14 : 31.01.2016, 18:18:30 »

В админке скорее всего выпадающий список с тремя вариантами...
Цитировать
в настройках поставила Animation Speed на slow
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #15 : 31.01.2016, 18:21:52 »

В админке скорее всего выпадающий список с тремя вариантами...
Точно, я об этом не думал. Тогда vipiusss прав, придется менять код.
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #16 : 31.01.2016, 18:22:46 »

В админке скорее всего выпадающий список с тремя вариантами...
вот поэтому я усомнился, что по словам roberta там есть инпут для ввода.
Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #17 : 31.01.2016, 18:41:02 »

В админке скорее всего выпадающий список с тремя вариантами...
Так оно и есть, можно выбрать три варианта  Slow, Normal, Fast.  Slow-это самое медленное, но почему то так скачет, как совсем не медленное (((
Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #18 : 31.01.2016, 18:50:47 »

вместо этого <?php echo $speed; ?> число в ms(милисекунды)
например 1000 - это 1 секунда.
просто укажите число между '

вот сам файл default.php
Показать текстовый блок
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #19 : 31.01.2016, 19:07:00 »

я не знаю, что это у вас за файл, а точнее файл из модуля.
прикрепил модуль, который я скачал у разработчика.
и там есть строки 43-47 в default.php:
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
        $('.je_accmenu<?php echo $class_sfx;?> ul:visible').slideUp('<?php echo $speed; ?>');
        checkElement.slideDown('<?php echo $speed; ?>');
        return false;
        }

жирным выделил:вместо этого число миллисекунд.

А что вы поставили и где скачали-я без понятия.
///
ха, скачал на нынешний момент-они изменили структуру.
попробуйте мой модуль установить, а тот снести, будет ли регулироваться?!

* mod_je_accordionmenu.zip (14.58 Кб - загружено 11 раз.)
« Последнее редактирование: 31.01.2016, 19:13:43 от vipiusss » Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #20 : 31.01.2016, 19:21:04 »

Ок, пробую...
Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #21 : 31.01.2016, 19:48:59 »

Цитировать

попробуйте мой модуль установить, а тот снести, будет ли регулироваться?!
меню изменилось немного, меня смущает тот факт что модуль для Joomla 2.5
поставила 190000 ms результат чуть поправился, а по умолчанию работает кстати не плохо и не обязательно код переписывать, но в старой версии есть  Star Accordion где можно выбрать либо по клику либо при наведении и эта функция как раз решила бы мою ситуацию.
  
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #22 : 31.01.2016, 20:29:33 »

возможно у меня древнее версия, не задавался подробностью, помню что на тройке стояла тоже и работала.
скачал новую версию, как у вас.

ставьте вашу версию и меняйте в дефолт PHP след строки(выделю жирным):

         if (element.hasClass('open')) {
            element.removeClass('open');
            element.find('li').removeClass('open');
            element.find('ul').slideUp('".$speed."');
         }
         else {
            element.addClass('open');
            element.children('ul').slideDown('".$speed."');
            element.siblings('li').children('ul').slideUp('".$speed."');
            element.siblings('li').removeClass('open');
            element.siblings('li').find('li').removeClass('open');
            element.siblings('li').find('ul').slideUp('".$speed."');
         }

т.е. также заменяете ".$speed." на число в миллисекундах, только синтаксис другой.
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3591


« Ответ #23 : 31.01.2016, 20:40:08 »

Раз все равно придется править код, то есть еще такой вариант: в файле mod_je_accordionmenu.xml найдите этот кусок
Показать текстовый блок
и поменяйте на этот
Показать текстовый блок
Теперь в админке сможете выбирать другие варианты скорости.
Ну или вообще поменяйте на этот
Код
<field name="speed" type="text" default="normal" label="Animation Speed" description="Accordion animation speed."/>
и впишите туда любое желаемое значение.
Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #24 : 31.01.2016, 21:58:25 »

element.siblings('li').find('ul').slideUp('".$speed."');
должно получиться
element.siblings('li').find('ul').slideUp('50000');
правильно прописала?
и чем больше число тем медленнее должно быть?
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #25 : 31.01.2016, 22:00:30 »

всё верно, это вы вверх прописали правда только.
Down-это вниз.
Но ещё ! обратите внимание на этот участок кода и подумайте логически:
там указано если ...то это, иначе следующий участок скоростей в коде.
Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #26 : 31.01.2016, 22:04:40 »

if (element.hasClass('open')) {
            element.removeClass('open');
            element.find('li').removeClass('open');
            element.find('ul').slideUp('900000');
         }
         else {
            element.addClass('open');
            element.children('ul').slideDown('900000');
            element.siblings('li').children('ul').slideUp('900000');
            element.siblings('li').removeClass('open');
            element.siblings('li').find('li').removeClass('open');
            element.siblings('li').find('ul').slideUp('900000');
         }

Вот что прописала, результат на сайте. Может еще ноликов добавить? )))))))))))
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #27 : 31.01.2016, 22:08:31 »

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

 Cheesy неужеле мы решили ваш вопрос совместными усилиями, методами проб и попыток!  drink
Записан
Элана
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 107



« Ответ #28 : 31.01.2016, 22:13:17 »

Честь и хвала таким людям как вы (и все кто участвовал).   Cheesy  Smiley Огромное спасибо  Kiss Благополучия всем, особенно здоровья  Smiley Azn
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #29 : 31.01.2016, 22:56:01 »

И вам спасибо.

Бонус вам: смотрю вы таблички делаете сами ( в контактах, в доп.информации), будут красивее-

в template.css добавить:

Показать текстовый блок

Сама таблица (в вашем случае):

Показать текстовый блок

<tr>***</tr> понятно уже сами допишите по дням недели далее.
CSS немного уже под себя доподстройте, я скопировал с того, что я делаю, а там немного под себя во всплывающем окне.
И в будущем просто класс для таблицы указывайте newtable и будет такая таблица.
Приложу скрин как оно будет (там ещё при наведении на ячейки-они меняются)


* 2016-01-31_205448.JPG (84.22 Кб, 830x659 - просмотрено 65 раз.)
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet