Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Динамическое изменение содержимого


Рекомендуемые сообщения

Есть ячейка таблицы. Хочу, чтобы при наведении на ячейку изменялось свойство background-image со значения none на какое-то определённое значение.

Пытался сделать так:

function my()

{

document.getElementById('waq').style.background-image="picture.jpg"

}

.

.

.

<td onmouseover="my()" id="waq" name="waq">...</td>

.

.

.

Ничего не получается. Значит, что-то не так прописал. Мне кажется, что после style неправильно написал. Подскажите, как правильно.

Изменено пользователем Emotion
Ссылка на комментарий
Поделиться на другие сайты

Emotion: в javascript нельзя использовать символ -

символ - убирается, а следующая буква заглавная, то есть у тебя будет так:

document.getElementById('waq').style.backgroundImage="picture.jpg";

Изменено пользователем Лорд Дмитрий
Ссылка на комментарий
Поделиться на другие сайты

document.getElementById('waq').style.backgroundImage="picture.jpg"; - не работает

document.getElementById('waq').style.backgroundColor="red"; - работает

Пробовал ещё - document.getElementById('waq').style.backgroundImage=url("picture.jpg"); - не работает тоже

В чём причина?

Ссылка на комментарий
Поделиться на другие сайты

Говоришь, хочешь сменить background-image:none на что-то другое?

Так впиши в style тега <td> - background-image:none :g:

Изменено пользователем Dimon#ic
Ссылка на комментарий
Поделиться на другие сайты

Я делаю так:

function over()

{

document.getElementById('waq').style.backgroundImage="2.jpg"

}

function out()

{

document.getElementById('waq').style.backgroundImage="none"

}

Причём функция out() работает. А функция over() - нет.

Возможно там нужно ещё как-то слово url привязать.

Ведь если просто писать в CSS то будет так:

background-image:url("1.jpg");

а если ничего то

background-image:none;

Ссылка на комментарий
Поделиться на другие сайты

Emotion: как вариант предлогаю создать два разных класса:

<style>.td_over { backgroun-image:url("picture.jpg");}.td_out { background-image:none;}</style>

java script:

function over() { document.getElementById('waq').className = "td_over"; }function out() { document.getElementById('waq').className = "td_out"; }

в тег td добавь class="td_out"

Ссылка на комментарий
Поделиться на другие сайты

Заработало. А как теперь сделать, чтобы функция была универсальна для каждого пункта меню? Ведь там привязка идёт к id. А этот параметр не может повторяться.

Ссылка на комментарий
Поделиться на другие сайты

Пока сделал так:

<script>

function over(x)

{

document.getElementById(x).className="td_over";

}

function out(x)

{

document.getElementById(x).className="td_out";

}

</script>

<style>

.td_over {

background-image:url("1.jpg");

font-size:12px;

height:18px;

}

.td_out {

background-image:none;

font-size:12px;

height:18px;

}

</style>

<body>

<td class="td_out" onMouseOver="x=id;over(x)" onMouseOut="x=id;out(x)" id="1">О компании </td>

</body>

Но, пишет, что на странице присутствуют ошибки. А именно - Error:'document.getElementById(...)' is null or not an object. Правильно ли я всё написал? Может синтаксис не правильный. Я просто с JS знаком поверхностно.

Эта ошибка выдаётся при локальном просмотре страницы. При удалённом всё ок. Но всё равно что-то неправильно.

И сама менюшка что-то подглючивает. Сделал такую же на Flash - там как-то без глюков (ссылка)

Меню на JS

Изменено пользователем Emotion
Ссылка на комментарий
Поделиться на другие сайты

Emotion: передавай функциям объект this это будет ссылка на твой td

<td class="td_out" onMouseOver="over(this)" onMouseOut="out(this)" id="1">О компании </td>

<script>

function over(x)

{

x.className="td_over";

}

function out(x)

{

x.className="td_out";

}

</script>

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...