Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   ошибка в меню (https://javascript.ru/forum/dom-window/18965-oshibka-v-menyu.html)

qwertyuiop 21.07.2011 16:45

ошибка в меню
 
Вложений: 1
есть страница:
<html>	
	<head>

		<title>CSS меню</title>

		<link rel="stylesheet" type="text/css" href="hide.css">

		<script type="text/javascript" src="hide.js"></script>

	</head>

	<body>

		<div id="menu">

			<a href="#" onMouseOver="menu1();">Один</a>

			<div class="inf1">Инфа одн</div>
			<a href="#" onMouseOver="menu2();">Два</a>	
			<div class="inf2">Инфа два</div>
			<a href="#" onMouseOver="menu3();">Три</a>

			<div class="inf3">Инфа три</div>

		</div>
	</body>
</html>


css файл:

Вложение 864

и javascript:

ob1=document.getElementsByClassName('inf1');
ob2=document.getElementsByClassName('inf2');
ob3=document.getElementsByClassName('inf3');
function menu1(){
	ob1.style.display='block';

	ob2.style.display='none';

	ob3.style.display='none';}
function menu2(){

	ob2.style.display='block';
	ob1.style.display='none';

	ob3.style.display='none';}

function menu3(){

	ob3.style.display='block';

	ob1.style.display='none';

	ob2.style.display='none';
}
function close(){

	ob1.style.display='none';

	ob2.style.display='none';

	ob3.style.display='none';
}


это меню, состоит из пунктов "один" "два" и "три" и выпадающей инфы, при наведении мыши. Но почемуто это все не работает, подскажите, где ошибка?

melky 21.07.2011 17:05

  1. на момент исполнения скрипта элемента еще нет. Чтобы решить, надо поместить скрипт в конец <body>
  2. document.getElementsByClassName вернёт массив элементов(NodeList). В данном случае можно просто приписать [0] везде

qwertyuiop 21.07.2011 17:18

спасибо, работает


Часовой пояс GMT +3, время: 13:53.