Автор Тема: [РЕШЕНО] Transformer, выпадающее меню  (Прочитано 143 раз)

17 Мая 2016, 16:02:12
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте. В теме Transformer есть модуль Advanced megamenu. Выпадающее подменю в нем реализовано с помощью javascript таким образом, что оно выпадает когда наводишься на него, а желательно, что бы оно выпадало по клику. В js я -1, но нашел, что за это отвечает событие mouseover, а что бы по клику было, то нужно click. Нашел файлы в которых по идее это делается. В интернете много тем о выпадающем меню, но автор Transformer'а видимо сделал это по своему. Может кто стыкался с таким вопросом и может подсказать что нужно в этих (или не в этих) файлах изменить ?
03 Июня 2016, 09:16:19
Ответ #1
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как по клику сделать, не нашел. Но нашел другое решение. В файле stadvancedmenu.js (0:\modules\stadvancedmenu\views\js\) в коде
$(".advanced_ml_level_0").hoverIntent({   
sensitivity: 7,
interval: 300,
over: advancedMegaHoverOver,
timeout: 100,
out: advancedMegaHoverOut
изменил значения  interval: 300 (время после которого меню выпадет) и timeout: 100 (время за которое меню свернется).
03 Июня 2016, 09:42:59
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 1190
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
hoverIntent нужно заменить на click, тогда будет открываться по клику.
03 Июня 2016, 11:22:31
Ответ #3
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
hoverIntent нужно заменить на click, тогда будет открываться по клику.
Подозреваю, что заменить нужно не только тут, а еще и в других файлах. Потому что заменив только тут, меню вообще не работает.
03 Июня 2016, 12:07:10
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 2158
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
$(".advanced_ml_level_0").click(advancedMegaHoverOver);Вот так будет открывать по клику.
08 Июня 2016, 09:55:39
Ответ #5
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
$(".advanced_ml_level_0").click(advancedMegaHoverOver);Вот так будет открывать по клику.
Да, так открывается, спасибо. Но не скрывается. Впрочем заказчик согласился и на задержку при открытии.
08 Июня 2016, 10:42:23
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 2158
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Ну так добавить нужно функцию скрытия, ты же писал про открытие меню, я тебе дал пример
Показ меню - over: advancedMegaHoverOver,
Скрытие -    out: advancedMegaHoverOut
А если заказчика только время интересует, так смени значение у timeout: 100, сделай меньше.
09 Июня 2016, 09:00:08
Ответ #7
  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ну так добавить нужно функцию скрытия, ты же писал про открытие меню, я тебе дал пример
Показ меню - over: advancedMegaHoverOver,
Скрытие -    out: advancedMegaHoverOut
А если заказчика только время интересует, так смени значение у timeout: 100, сделай меньше.
Не наоборот, ему не нравилось что меню раскрывается как только наводишься. Поэтому время увеличил.