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

Zanuda29 14.08.2009 22:14

Javascript меню в шапке сайта
 
Здравствуйте. Хочу сделать меню в шапке сайта, нашел JS код в инете, поставил его, вроде все работает, но код расчитан только на 3 кнопки, а на сайт нужно 6.
Даю этот самый код, подскажите, что нужно в нем добавить/изменить, что бы получилось 6 кнопок.

<td> 
<script language="JavaScript" > 
<!-- hide 
var browserOK = false; 
var pics; 
// --> 
</script> 
<script language="JavaScript1.1"> 
<!-- hide 
//JavaScript 1.1! 
browserOK = true; 
pics = new Array(); 
// --> 
</script> 
<script language="JavaScript" > 
<!-- hide 
var objCount = 0; 
function preload(name, first, second) { 
if (browserOK) { 
pics[objCount] = new Array(3); 
pics[objCount][0] = new Image(); 
pics[objCount][0].src = first; 
pics[objCount][1] = new Image(); 
pics[objCount][1].src = second; 
pics[objCount][2] = name; 
objCount++; 
} 
} 
function on(name){ 
if (browserOK) { 
for (i = 0; i < objCount; i++) { 
if (document.images[pics[i][2]] != null) 
if (name != pics[i][2]) { 
document.images[pics[i][2]].src = pics[i][0].src; 
} else { 
document.images[pics[i][2]].src = pics[i][1].src; 
} 
} 
} 
} 
function off(){ 
if (browserOK) { 
for (i = 0; i < objCount; i++) { 
if (document.images[pics[i][2]] != null) 
document.images[pics[i][2]].src = pics[i][0].src; 
} 
} 
} 
preload("link1", "img1", "img2"); 
preload("link2", "img1", "img2"); 
preload("link3", "img1", "img2"); 
// --> 
</script> 
</head> 
<body> 
<a href="link1" onMouseOver="on('link1')" onMouseOut="off()"><img name="link1" src="img1" border="0"></a><a href="link2" onMouseOver="on('link2')" onMouseOut="off()"><img name="link2" src="img1" border="0"></a><a href="link3" onMouseOver="on('link3')" onMouseOut="off()"><img name="link3" src="img1" border="0"></a> 
</body> 
</td>

B~Vladi 17.08.2009 10:45

Отформатируйте свой код для начала...

JSprog 17.08.2009 12:16

Цитата:

Сообщение от Zanuda29
preload("link1", "img1", "img2");
preload("link2", "img1", "img2");
preload("link3", "img1", "img2");

Цитата:

Сообщение от Zanuda29
<a href="link1" onMouseOver="on('link1')" onMouseOut="off()"><img name="link1" src="img1" border="0"></a><a href="link2" onMouseOver="on('link2')" onMouseOut="off()"><img name="link2" src="img1" border="0"></a><a href="link3" onMouseOver="on('link3')" onMouseOut="off()"><img name="link3" src="img1" border="0"></a>

Вот тут загвоздка

JSprog 17.08.2009 12:17

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Zanuda29 17.08.2009 14:50

Цитата:

Сообщение от JSprog (Сообщение 27194)
Вот тут загвоздка

В чем именно? :blink:
Я пробовал так...
preload("link1", "img1", "img2"); 
preload("link2", "img1", "img2"); 
preload("link3", "img1", "img2"); 
preload("link4", "img1", "img2"); 
preload("link5", "img1", "img2"); 
preload("link6", "img1", "img2");

...а потом просто добавлять линки с <a href="link1" onMouseOver... и так до "link6", но тогда код работает неправильно :( при наведении курсора на одну кнопку, меняется другая...
В чем проблема? Объясните плс.

JSprog 17.08.2009 14:54

<td> 
<script language="JavaScript" > 
<!-- hide 
var browserOK = false; 
var pics; 
// --> 
</script> 
<script language="JavaScript1.1"> 
<!-- hide 
//JavaScript 1.1! 
browserOK = true; 
pics = new Array(); 
// --> 
</script> 
<script language="JavaScript" > 
<!-- hide 
var objCount = 0; 
function preload(name, first, second) { 
if (browserOK) { 
pics[objCount] = new Array(3); 
pics[objCount][0] = new Image(); 
pics[objCount][0].src = first; 
pics[objCount][1] = new Image(); 
pics[objCount][1].src = second; 
pics[objCount][2] = name; 
objCount++; 
} 
} 
function on(name){ 
if (browserOK) { 
for (i = 0; i < objCount; i++) { 
if (document.images[pics[i][2]] != null) 
if (name != pics[i][2]) { 
document.images[pics[i][2]].src = pics[i][0].src; 
} else { 
document.images[pics[i][2]].src = pics[i][1].src; 
} 
} 
} 
} 
function off(){ 
if (browserOK) { 
for (i = 0; i < objCount; i++) { 
if (document.images[pics[i][2]] != null) 
document.images[pics[i][2]].src = pics[i][0].src; 
} 
} 
} 
preload("link1", "img1", "img2"); 
preload("link2", "img1", "img2"); 
preload("link3", "img1", "img2"); 
preload("link4", "img1", "img2"); 
// --> 
</script> 
</head> 
<body> 
<a href="link1" onMouseOver="on('link1')" onMouseOut="off()"><img name="link1" src="img1" border="0"></a><a href="link2" onMouseOver="on('link2')" onMouseOut="off()"><img name="link2" src="img1" border="0"></a><a href="link3" onMouseOver="on('link3')" onMouseOut="off()"><img name="link3" src="img1" border="0"></a><a href="link4" onMouseOver="on('link4')" onMouseOut="off()"><img name="link4" src="img1" border="0"></a>  
</body>

Вот пример


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