Технический форум

Технический форум (http://www.tehnari.ru/)
-   Изготовление сайтов (http://www.tehnari.ru/f129/)
-   -   Проблемы с меню в JavaScript (http://www.tehnari.ru/f129/t48239/)

Chervones 01.03.2011 16:24

Проблемы с меню в JavaScript
 
Изготовлял меню для сайта на JavaScript'е и возникла проблема: картинки мененяются только в первой картинке, а остальные не меняются.
Вот html-код:
Код HTML:

<html>
<head>
<script language="javaScript" src="1.js"></script>
<link href="1.css" rel="stylesheet"></link>
</head>
<body>
<center>
<div class="d1">
Меню
<img src="b1.png" name="img1" onMouseover="img0()" onMouseout="imgi0()"></img>
<br><img src="b1.png" name="img2" onMouseover="img1()" onMouseout="imgi1()"></img>
</div>
</CENTER>
</body>
<html>

А вот JavaScript-код:
Код:

function img0()
{
var img1="b2.png"
document.all.img1.src=img1
}
function imgi0()
{
var img0="b1.png"
document.all.img1.src=img0
}
function img1()
{
var img1="b2.png"
document.all.img2.src=img1
}
function imgi1()
{
var img0="b1.png"
document.all.img2.src=img0
}

Непонимаю в чём проблема.

Chervones 01.03.2011 16:31

Вложений: 1
Вот скрин.

Eli 01.03.2011 17:21

код <br> не закрываешь?


Цитата:

<img src="b1.png" name="img1" onMouseover="img0()" onMouseout="imgi0()"></img>


<br><img src="b1.png" name="img2" onMouseover="img1()" onMouseout="imgi1()"></img>
попробуй заменить как в первом варианте с
Цитата:

onMouseover="img0()" onMouseout="imgi0()"
-

в коде onMouseover="img1()" onMouseout="img1()" переделать код для "img1 отдельно. без "imgi1"



мне кажется что код не правильный вышел (возможно не хватка строки для "imgi1" ) Имхо

Chervones 01.03.2011 17:54

Тег <br> закрытия не требует.
Цитата:

попробуй заменить как в первом варианте с
Цитата:

onMouseover="img0()" onMouseout="imgi0()"

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

Chervones 01.03.2011 18:15

Код всё ещё не работает, всё как подобает собрано, вроде. Где код противоречит непонятно!

kreol 03.03.2011 01:30

1) проставьте в javascript точки с запятой
2) попробуйте путь к файлу для начала задать без доп переменной. т.е.
Код:

document.all.img1.src="/1.png";
3) в самом имидж попробуйте событие без внешнего файла так(в двух)
Код:

<img src="b1.png" name="img1" onMouseover="this.src='1.png';" onMouseout="this.src='2.png';"><br />
<img src="b1.png" name="img2" onMouseover="this.src='3.png';" onMouseout="this.src='4.png';">

п.с. <img> тоже не требует закрывающего тега
также рекомендую использовать плагин firebug для мозилы и просмотрите пути возможно не правильно заданы...

kreol 03.03.2011 01:46

ааа все увидел проблему. у вас название переменной такое же как и функции.

сделайте так и все заработает.

.html
Код:

<html>
<head>
<script language="javaScript" src="1.js"></script>
<link href="1.css" rel="stylesheet"></link>
</head>
<body>
<center>
<div class="d1">

<img src="b1.png" name="img1" onMouseover="img0()" onMouseout="imgi0()">
<br><img src="b1.png" name="img2" onMouseover="img3()" onMouseout="imgi4()">
</div>
</CENTER>
</body>
<html>

1.js
Код:

function img0(){
  var img1="b2.png";
  document.all.img1.src=img1;
}
function imgi0(){
  var img0="b1.png";
  document.all.img1.src=img0;
}
function img3(){
  var img1="b2.png";
  document.all.img2.src=img1;
}
function imgi4(){
  var img0="b1.png";
  document.all.img2.src=img0;
}

п.с. делайте отступы в коде даже в маленьких проектиках. легче будет

Chervones 30.04.2011 09:10

Я всё сделал проще, во код:
Код:

  <a onmouseover="document.im0.src='buttons/button1.png'" onmouseout="document.im0.src='buttons/button0.png'"><img src="buttons/button0.png" name="im0"></a>

kreol 04.05.2011 03:05

это не проще а неправильней...

Chervones 13.07.2011 11:50

Зато работает:tehnari_ru_707:


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.