#html #laravel
#HTML #laravel
Вопрос:
Это мой код:
<li class="{{ request()->is('#programs') ? "current" : ""}}"><a href="{{ route('client.home').'#programs' }}">Programs</a></li>
Мне нужно добавить «текущий» в пункт меню, когда пользователь нажимает на него! Я сделал это для обычных маршрутов, но как попробовать это для тега привязки?
И мой путь
example.com/#programs
Тег привязки находится на главной индексной странице, сам по себе — так что у меня есть текущее меню для домашней страницы следующим образом :
<li class="{{ Request::path() === "/" ? "current" : ""}}"><a href="{{ route('client.home') }}">Home</a></li>
Итак, когда пользователь нажимает на Home, подсвечивается меню Home, но когда пользователь нажимает на Programs — он перемещается, но Programs не подсвечиваются, вместо этого Home по-прежнему подсвечивается!
Комментарии:
1. просто чтобы подтвердить, что вы хотите перейти к #progress части страницы, на которой есть маршрут ‘client.home’, когда пользователь нажимает на пункт меню, я прав?
2. Нет, например, рассмотрим мою домашнюю страницу (‘client.home’), поэтому при первом открытии меню «Home» будет активным. И теперь у меня есть меню с именем «Программы» и его тег привязки div («#progress») на той же самой домашней странице. Поэтому, когда пользователь нажимает на программы, ему нужно перейти к тегу Programs (и он отлично работает), но как добавить «current» в меню Program (которое указывает на тег привязки), и при прокрутке вниз текущий класс должен быть активным в главном меню!
3. из того, что вы сказали, этого можно легко достичь с помощью jquery (или js) и html, см. Эту ссылку , а для тегов привязки вы можете просто использовать id =programs и вызвать его где-нибудь, используя $programs напрямую, см. Здесь
Ответ №1:
Если вы хотите проверить значение ФРАГМЕНТА в приведенном ниже примере, я никогда не видел функции, используемой в laravel (спасибо, что написали, если вы ее видите), но php можно получить с помощью его функции
parse_url($url, PHP_URL_FRAGMENT);
Комментарии:
1. Да и нет. Фрагменты URL-адреса не отправляются на сервер , поэтому, если OP пытается обработать текущий запрос пользователя, parse_url не будет работать. Активное состояние должно произойти на стороне клиента.
2. Это можно использовать для повышения точности js