Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2010, 10:09
Аспирант
Отправить личное сообщение для McLotos Посмотреть профиль Найти все сообщения от McLotos
 
Регистрация: 18.11.2010
Сообщений: 56

Настроить меню.
Подскажите как это делается, если можно линканите образец скрипта...
Есть картинка, в ней нарисованы варианты кнопки, всего 4 варианта для каждой кнопки т.е. вариант кнопки в нормальном состоянии, при наведении курсора, при клике, и когда на этой странице.
Я мог бы при помощи css сделать всё это но только в том случае, когда каждый из вариантов кнопки находится в разных файлах, а когда в одном я не умею... подскажите, хочу научиться и такому варианту создания меню. Для тех кто не понял о чем речь прилагаю файлик, из которого мне нужно сделать меню. http://javascript.ru/files/u10172/1.gif
Первая строка меню в нормальном состоянии
Вторая строка - при наведении курсора т.е. я так думаю OnMouseOver
Третья строка - при нажатой кнопке мыши что-то типа OnClick или OnButtonClick я просто не знаю JS, но думаю по образцу сориентирюсь...
Четвертая когда я нахожусь на странице этого пункта меню.
Если у кого-нибудь есть такой скрипик киньте плиз...
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2010, 10:21
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

http://html-css.info/2009/07/css-sprites
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2010, 10:24
Аспирант
Отправить личное сообщение для McLotos Посмотреть профиль Найти все сообщения от McLotos
 
Регистрация: 18.11.2010
Сообщений: 56

То есть получается что JS вообще не нужен?
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2010, 10:32
Аспирант
Отправить личное сообщение для McLotos Посмотреть профиль Найти все сообщения от McLotos
 
Регистрация: 18.11.2010
Сообщений: 56

Хотя нет, в любом случае нужен, ну прописал я этот код для css, настроил, но как теперь првязать к ним event которые мне нужны, о них говорилоь выше.
Ответить с цитированием
  #5 (permalink)  
Старый 02.12.2010, 10:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от McLotos
Если у кого-нибудь есть такой скрипик киньте плиз..
Как вариант...

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type='text/css'>
.button,
.button_dn {
	width: 62px;
	height: 20px;
	display: block;
	text-align: center;
	text-decoration: none;
}
.button {
	color: #000000;
	background: url('http://javascript.ru/files/u10172/1.gif') no-repeat 0 0;
}
.button:hover {
	color: #ffffff;
	background: url('http://javascript.ru/files/u10172/1.gif') no-repeat 0 -22px;
}
.button_dn {
	color: #ffffff;
	background: url('http://javascript.ru/files/u10172/1.gif') no-repeat 0 -45px;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<a href='#' class='button' onmousedown='this.className="button_dn"' onmouseup='this.className="button"'>Test</a>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 02.12.2010, 10:47
Аспирант
Отправить личное сообщение для McLotos Посмотреть профиль Найти все сообщения от McLotos
 
Регистрация: 18.11.2010
Сообщений: 56

КУЛ! СПС! а как теперь сделать чтобы оставалась нажатой так кнопка где я нахожусь?
Ответить с цитированием
  #7 (permalink)  
Старый 02.12.2010, 10:58
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

<script type='text/javascript'>
	(function () {
		var nodes = document.getElementById("menu").getElementsByTagName("A");
		for (var i = 0; i < nodes.length; i++)
			if (nodes[i].href.replace("www.", "").split("#")[0].split("?")[0] == location.href.replace("www.", ""))
				nodes[i].className = "button_dn";
	})();
</script>


Ссылки поместить в DIV с id='menu'.
Ответить с цитированием
  #8 (permalink)  
Старый 02.12.2010, 11:10
Аспирант
Отправить личное сообщение для McLotos Посмотреть профиль Найти все сообщения от McLotos
 
Регистрация: 18.11.2010
Сообщений: 56

А что означает эта строчка if (nodes[i].href.replace("www.", "").split("#")[0].split("?")[0] == location.href.replace("www.", ""))
nodes[i].className = "button_dn"; что должно быть вместо "www" "" "#"?
Ответить с цитированием
  #9 (permalink)  
Старый 02.12.2010, 11:11
Аспирант
Отправить личное сообщение для McLotos Посмотреть профиль Найти все сообщения от McLotos
 
Регистрация: 18.11.2010
Сообщений: 56

А ещё такой вопрос, если ссылки не постоянные, ну я пишу скин под CMS там через админку можно меню настраивать, т.е. менять название пунктов меню,адреса и их колличество, тогда вариант с DIV не сработает?

Последний раз редактировалось McLotos, 02.12.2010 в 11:19.
Ответить с цитированием
  #10 (permalink)  
Старый 02.12.2010, 12:00
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Цитата:
что должно быть вместо "www" "" "#"?
Ничего менять не надо. Ну вот например, текущий адрес — www.site.ru#anchor?a=1&b=2&c=3, а в меню ссылка просто site.ru. Условие на равенство не сработает, а написанная выше строчка поможет этого избежать, вычленив все ненужные части URL.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Находится ли мышка над дивом ? (выпадающее меню) advsm jQuery 31 24.09.2014 17:50
Ищу jQuery плагин для создания меню Zeboton jQuery 9 15.09.2014 15:31
Помогите настроить скрипт раскрывающегося меню melomanfm Работа 6 10.08.2009 01:21
Событие mouseout при наведении мыши на пункт меню WalterScott Events/DOM/Window 2 12.05.2009 22:05