Возможно ли сделать так
Тут возник вопрос..
Возможно ли как-то определить url из адресной строки браузера и если к примеру url = http://studentprograms.ru/shkola-indigo, то ссылке присвоить класс? В общем не знаю как сделать следующее. Есть сайт http://studentprograms.ru и на слайдере две кнопки "Школа Индиго" и "Обучение за рубежом". Надо чтобы кнопка "Школа Индиго" была фиолетовой при переходе на некоторые url. Такое можно сделать? свойство a:visited не подходит |
Цитата:
https://jsfiddle.net/1nb0gtvo/ |
kolhoz,
Цитата:
Цитата:
|
Цитата:
|
Не, присваивать класс я имел ввиду через html-разметку.
Если вам нужно только подсветить кнопку и нет доступа к верстке, то можно через location.href определять страницу, и если она является нужной, то подсвечивать кнопку. |
А как это сделать? Я с js не особо знаком.. Сайт на движке Joomla
Прописал нижеуказанный код в шаблоне сайта и залил на хостинг чтобы проверить что выдает, но этот скрипт не работает и в исходном коде страницы не вижу его <script> alert(window.location.href); </script> |
kolhoz,
значит не туда залили скрипт. Я думал, что у вас сайт как набор страниц, но если он на движке, то доступа к верстке как таковой может не быть. Вам нужно или добавить свой скрипт в какой-то имеющийся модуль, или создать свой модуль со скриптом и засунуть его куда-нибудь на страницы. Может в Джумле есть и свой функционал для простой вставки скриптов, я уже и не помню. |
А по поводу кода с location - это что-то типа того (схематично):
var href = location.href; if (href == 'нужный url') { $('нужная кнопка').css('background', 'фиолетовый-какой-то-там-код'); } |
О через модуль получилось.. А не подскажете как прописать условие
Если url = http://studentprograms.ru/testovoe-sobytie, то у ссылки с классом .item-326 сделать фон #f00 |
Цитата:
|
kolhoz,
это по-простому, не очень красиво (красивее было бы учитывать только страницу, без домена, location разделять по слэшам и т.д., но это неважно) var href = location.href; if (href == 'http://studentprograms.ru/testovoe-sobytie') { $('a.item-326').css('background', '#f00'); } |
kolhoz,
отпишитесь с результатом. Может не работать, в зависимости от того, куда вы засунули модуль. Если он срабатывает где-то до кнопки, то скрипт работать не будет, потому что данного элемента DOM на момент его отработки браузер еще не нарисовал. |
Не сработало
<script> var href = location.href; if (href == 'http://studentprograms.ru/testovoe-sobytie') { $('#mainmenu>li>a').css('background', '#f00'); } </script> А так показывает url <script> alert(location.href); </script> |
Цитата:
|
kolhoz,
я выше написал, почему. Тогда оберните мой код в document.ready, вот так: $(document).ready(function() { мой код выше }); |
kolhoz,
ну вот и замечательно. Если скрипт находится выше элемента, который он выбирает - то он работать не будет. Нужно его либо обворачивать в document.ready (то есть ждать события DOMContentOnload), либо засовывать скрипт ниже того элемента, с которым он работает. |
Часовой пояс GMT +3, время: 11:33. |