• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Проблемы с меню в JavaScript

Chervones

Novel user
Почётный участник
Регистрация
16 Апр 2010
Сообщения
568
Реакции
14
Баллы
0
Проблемы с меню в 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
}
Непонимаю в чём проблема.
 
Вот скрин.
 

Вложения

  • Меню.webp
    Меню.webp
    6.8 KB · Просмотры: 135
код <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" ) Имхо
 
Последнее редактирование:
Тег <br> закрытия не требует.
попробуй заменить как в первом варианте с
onMouseover="img0()" onMouseout="imgi0()"
В таком случае заменяется весь каскад рисунов меню, поэтому я и сделал каждому отдельный обработчик.
 
Код всё ещё не работает, всё как подобает собрано, вроде. Где код противоречит непонятно!
 
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 для мозилы и просмотрите пути возможно не правильно заданы...
 
ааа все увидел проблему. у вас название переменной такое же как и функции.

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

.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;
}

п.с. делайте отступы в коде даже в маленьких проектиках. легче будет
 
Я всё сделал проще, во код:
Код:
  <a onmouseover="document.im0.src='buttons/button1.png'" onmouseout="document.im0.src='buttons/button0.png'"><img src="buttons/button0.png" name="im0"></a>
 
это не проще а неправильней...
 
Зато работает:tehnari_ru_707:
 
Назад
Сверху