Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB59.1160
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 13.02.2012, 22:15   #1
Longer
Хочу обратно ((
 
Аватар для Longer
 
Регистрация: 18.04.2007
Сообщений: 3,540
Бабло: $589868
По умолчанию Выделить активную страницу в меню

Привет.

Есть сайт. Joomla

В ней есть основное меню, стандартное. И одно вверху, которое всунул сам.

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

<a href="http://google.com" class="333">GOOGLE</a>

li - применять нельзя...

Как сделать, чтобы эта ссылка на которой в данный момент находится юзер была подсвечена/другим цветом... Т.е. присвоить ей какой то класс настраиваемый. ?

В гугле вариантов 40 пересмотрел, но везде все построенно на использовании li .. Мне нужно как то без него - получить текущий адрес страницы и присвоить ему класс Х ... Но JS варианты и PHP, которые находил - не помогают.

Сталкывался кто? Помогите. Можно за или $
Longer вне форума  
Старый 14.02.2012, 00:50   #2
spamless
Senior Member
 
Регистрация: 16.07.2009
Сообщений: 939
Бабло: $152432
По умолчанию

На js я не пейсатель, но можно попробовать примерно так (если я правильно понял задачу):

Код:
<html>
<head>
	<title>test</title>
</head>
<body>

	<div id="header">
		<table id="nav">
			<tr>
				<td><a href="http://localhost/">local</a></td>
				<td><a href="http://link1/">test 1</a></td>
				<td><a href="http://link2/">test 2</a></td>
			</tr>
		</table>
	</div>

<script type="text/javascript">
    
    	var links = document.getElementById("nav").getElementsByTagName("a")
    	
        for(i = 0; i < links.length; i++)
        	if (links[i].href == document.URL)
        		links[i].setAttribute("style", "font-size: 24px;");	    
</script>

</body>
</html>

Последний раз редактировалось spamless; 14.02.2012 в 01:00.
spamless вне форума  
Старый 14.02.2012, 01:59   #3
spamless
Senior Member
 
Регистрация: 16.07.2009
Сообщений: 939
Бабло: $152432
По умолчанию

Цитата:
Сообщение от Longer Посмотреть сообщение
Мне нужно как то без него - получить текущий адрес страницы и присвоить ему класс Х ...
Вместо вместо links[i].setAttribute(...) воткнуть links[i].className = "X";
spamless вне форума  
Старый 14.02.2012, 02:13   #4
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

в идеале нужно на уровне php(в шаблонизаторе) делать if проверки (обычно в цикле по пунктам меню) на соответствие текущей страницы адресам из пунктов меню. В случае равенства в класс приписывать какой-то свой новый класс типа active, т.е. будет <td class="blablabal active">, ну и в css класс .active прописать нужный стиль.
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 14.02.2012, 02:16   #5
Drunk Monk
Je suis moine ivre
 
Аватар для Drunk Monk
 
Регистрация: 03.03.2009
Сообщений: 15,235
Бабло: $797160042
По умолчанию

По идее в jQuery в селектор можно запихнуть аттрибут href такой-то и присвоить нужный класс.
__________________
EssayPartner.com. Партнерка по эссе трафу.
Drunk Monk вне форума  
Старый 14.02.2012, 02:16   #6
ukshops
Senior Member
 
Регистрация: 15.12.2010
Сообщений: 141
Бабло: $32505
По умолчанию

кстати тож искал подобную штуку, спасибо spamless, всё работает очень охуенно)))
ukshops вне форума  
Старый 14.02.2012, 02:27   #7
spamless
Senior Member
 
Регистрация: 16.07.2009
Сообщений: 939
Бабло: $152432
По умолчанию

Цитата:
Сообщение от ukshops Посмотреть сообщение
кстати тож искал подобную штуку, спасибо spamless, всё работает очень охуенно)))
Через className толкьо, а то с setAttribute в ие

Цитата:
Сообщение от chesser Посмотреть сообщение
в идеале нужно на уровне php(в шаблонизаторе) делать if проверки (обычно в цикле по пунктам меню) на соответствие текущей страницы адресам из пунктов меню. В случае равенства в класс приписывать какой-то свой новый класс типа active, т.е. будет <td class="blablabal active">, ну и в css класс .active прописать нужный стиль.
Именно, как это реализовано у wp в wp_nav_menu(), например. Правда все равно допиливать приходится %)
spamless вне форума  
Старый 14.02.2012, 10:52   #8
Longer
Хочу обратно ((
 
Аватар для Longer
 
Регистрация: 18.04.2007
Сообщений: 3,540
Бабло: $589868
ТС -->
автор темы ТС По умолчанию

2 chesser, Drunk Monk - я об этом же. Только мне конкретная реализация нужна ).

spamless - спасибо, но чет не пашет.

На данный момент решил так
Цитата:
<script>
onload = function ()
{
for (var lnk = document.links, j = 0; j < lnk.length; j++)
if (lnk [j].href == document.URL)
lnk [j].style.color = '#03a6e5';

}
</script>
Это сделает цвет букв активной ссылки другим. Но еще как нибудь бы фон клетки изменить, если добавляю background он фон ставит только на высоту букв, а клетка больше чем они...
Longer вне форума  
Старый 14.02.2012, 13:32   #9
spamless
Senior Member
 
Регистрация: 16.07.2009
Сообщений: 939
Бабло: $152432
По умолчанию

Цитата:
Сообщение от Longer Посмотреть сообщение
2 chesser, Drunk Monk - я об этом же. Только мне конкретная реализация нужна ).

spamless - спасибо, но чет не пашет.

На данный момент решил так


Это сделает цвет букв активной ссылки другим. Но еще как нибудь бы фон клетки изменить, если добавляю background он фон ставит только на высоту букв, а клетка больше чем они...
кинь в пм кусок кода (меню) - саму table (ссылки замени)) - я тебе покажу конкретную реализацию
spamless вне форума  
Старый 14.02.2012, 14:39   #10
Longer
Хочу обратно ((
 
Аватар для Longer
 
Регистрация: 18.04.2007
Сообщений: 3,540
Бабло: $589868
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от spamless Посмотреть сообщение
кинь в пм кусок кода (меню) - саму table (ссылки замени)) - я тебе покажу конкретную реализацию
Да пока не нужно. кодом выше получилось добиться более менее красоты... Токо ие сцуко глючит

Если не разберусь с ие - то скину . Спасибо тебе.
Longer вне форума  
Закрытая тема



Опции темы
Опции просмотра