0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 2563 Просмотров
*

Rebarun

  • Захожу иногда
  • 249
  • 0 / 2
Открытие меню
« : 30.07.2020, 19:06:20 »
Подменю открывается только если нажать на плюсик
https://prnt.sc/tra60j
Можно ли сделать чтобы подменю открывалось не только через (+) но и при нажатии на сам заголовок
*

sivers

  • Живу я здесь
  • 2284
  • 310 / 0
Re: Открытие меню
« Ответ #1 : 30.07.2020, 20:59:56 »
Можно ли сделать чтобы подменю открывалось не только через (+) но и при нажатии на сам заголовок
Можно добавить скрипт:
Код
<script>
jQuery('.treeview .hitarea + a').on('click', function(){
  jQuery(this).prev().trigger('click');
  return false;
});
</script>
Будет открываться по клику, но не получиться перейти в этот родительский пункт меню. Можно сделать, чтоб при первом клике открывалось, а при втором - переходило по ссылке вместо сворачивания:
Код
<script>
jQuery('.treeview .hitarea + a').on('click', function(){
  var hitarea = jQuery(this).prev();
  if(!hitarea.hasClass('collapsable-hitarea')){
    hitarea.trigger('click');
    return false;
  }
  return true;
});
</script>
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Rebarun

  • Захожу иногда
  • 249
  • 0 / 2
Re: Открытие меню
« Ответ #2 : 30.07.2020, 21:26:50 »

Будет открываться по клику, но не получиться перейти в этот родительский пункт меню. Можно сделать, чтоб при первом клике открывалось, а при втором - переходило по ссылке вместо сворачивания:

Спасибо.
Да, второй вариант наверное более приемлемый. Надо потестить.
Только, прошу прощения, подскажите куда этот скрипт вставить ?

*

sivers

  • Живу я здесь
  • 2284
  • 310 / 0
Re: Открытие меню
« Ответ #3 : 30.07.2020, 21:31:03 »
куда этот скрипт вставить ?
Лучше в js-файл (любой), но можно и в код страницы (если меню везде выведено), например, в индексе шаблона можно так:
Код
$this->addScriptDeclaration('
jQuery(function(){
jQuery('.treeview .hitarea + a').on('click', function(){
  var hitarea = jQuery(this).prev();
  if(!hitarea.hasClass('collapsable-hitarea')){
    hitarea.trigger('click');
    return false;
  }
  return true;
});
});
');
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Rebarun

  • Захожу иногда
  • 249
  • 0 / 2
Re: Открытие меню
« Ответ #4 : 30.07.2020, 22:26:06 »
Лучше в js-файл (любой), но можно и в код страницы (если меню везде выведено), например, в индексе шаблона можно так:
Код
[/quote]
Нет так все таки фигово.
Меню один раз открывается а нижнее уже не открывается...
К сожалению не вариант.
А не поджскажите как сделать чтобы по умолчанию сразу все меню разворачивалось
*

sivers

  • Живу я здесь
  • 2284
  • 310 / 0
Re: Открытие меню
« Ответ #5 : 31.07.2020, 09:39:30 »
А не поджскажите как сделать чтобы по умолчанию сразу все меню разворачивалось
Т.е., при клике на любую ссылку должны раскрыться сразу все? А при повторном клике? Или при клике по "+"? Опишите тогда целиком свою хотелку )
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Rebarun

  • Захожу иногда
  • 249
  • 0 / 2
Re: Открытие меню
« Ответ #6 : 31.07.2020, 12:41:27 »
Т.е., при клике на любую ссылку должны раскрыться сразу все? А при повторном клике? Или при клике по "+"? Опишите тогда целиком свою хотелку )
Нет все проще ( как мне кажется)
При открытии сайта сразу все меню открыто полностью, а не закрыто как сейчас
Далее все как есть в стандарте.
*

sivers

  • Живу я здесь
  • 2284
  • 310 / 0
Re: Открытие меню
« Ответ #7 : 31.07.2020, 13:40:05 »
Тогда лучше вообще подправить шаблон или взять стандартное меню - без скриптов и открывалок. Ну а если не хочется ничего менять, то остается только добавить костыль, который после загрузки будет все открывать. Например, такой:
Код
jQuery(function(){
  jQuery('ul.treeview').show();
  jQuery('.hitarea').hide();
});
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Rebarun

  • Захожу иногда
  • 249
  • 0 / 2
Re: Открытие меню
« Ответ #8 : 31.07.2020, 21:27:31 »
Тогда лучше вообще подправить шаблон или взять стандартное меню - без скриптов и открывалок. Ну а если не хочется ничего менять, то остается только добавить костыль, который после загрузки будет все открывать. Например, такой:
Код
jQuery(function(){
  jQuery('ul.treeview').show();
  jQuery('.hitarea').hide();
});
Спасибо что уделяете столько времени ...
Это тоже надо добавить в любой js ?
*

sivers

  • Живу я здесь
  • 2284
  • 310 / 0
Re: Открытие меню
« Ответ #9 : 02.08.2020, 21:43:44 »
Это тоже надо добавить в любой js ?
Работать будет в любом, который подключен после jQuery. Лучше, конечно, в кастомном, но не уверен, что смогу доступно объяснить как его подключить.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Меню в мобильной версии

Автор Rebarun

Ответов: 1
Просмотров: 588
Последний ответ 07.07.2021, 07:47:08
от nevigen
Мобильное меню

Автор Rebarun

Ответов: 0
Просмотров: 539
Последний ответ 16.08.2020, 21:25:35
от Rebarun
JS4.18.4/Joomla3.9.19 меню Список товаров не видит product.php в шаблоне

Автор tigra-uki

Ответов: 11
Просмотров: 707
Последний ответ 13.06.2020, 19:44:10
от draff
Вертикальное меню товаров для мобильной версии сворачивающийся в трей

Автор bakyt

Ответов: 17
Просмотров: 593
Последний ответ 20.12.2019, 15:56:31
от nevigen
Заменить открытие картинки в списке товаров на переход в его карточку

Автор VladislavMar

Ответов: 11
Просмотров: 654
Последний ответ 03.08.2019, 22:45:10
от VladislavMar