21:12

вечноволнующееся чмо
Можно ли сделать так, чтобы при наведении курсора одна картинка подменялась другой?

Заранее спасибо.

@темы: HTML

Комментарии
14.07.2008 в 21:27

Geza Anda pl Mozart-PC 21 in CM K467-I Allegro Maestoso[13:54].flac
div onhover = .....
через картинку в диве и innerhtml
или getelementbyid с айди картинки и смену src.
14.07.2008 в 21:30

Можно. Обработкой события onmouseover (мышка наведена на элемент) и onmouseout (мышка покинула элемент)

Картинки предварительно лучше подгрузить:

var img = new Object();
img["news1"] = new Image(75, 53);
img["news1"].src="news1.jpg";

и т.д.
14.07.2008 в 21:36

Geza Anda pl Mozart-PC 21 in CM K467-I Allegro Maestoso[13:54].flac
Trotil, м, ты прав.можно и легче без css www.w3.org/WAI/UA/TS/html401/cp0102/0102-ONMOUS...
14.07.2008 в 21:39

вечноволнующееся чмо
Trotil Itsygo
спасибо, я поняла :)
14.07.2008 в 22:00

главное ебашилово, мои дорогие)
Trotil, м, ты прав.можно и легче без css www.w3.org/WAI/UA/TS/html401/cp0102/0102-ONMOUS...
уважаемый Itsygo . Перед тем как писать что-то, проверьте свои слова. Где вы там css нашли? это чистейший Javasсript. и то, на что вы дали ссылку работает по тому же принципу, только размусолено для тех, кто не понимает ничего в JavaScript
14.07.2008 в 22:13

Geza Anda pl Mozart-PC 21 in CM K467-I Allegro Maestoso[13:54].flac
chipp,
уважаемый,
прочитай моё первое сообщение. я предложил с css (через div/innerhtml), т.к не помнил про хэндлеры onmouseover/onmouseout в < img а ссылку я дал на пример с тем, что предложил Trotil, и да, там чистый js.
14.07.2008 в 22:15

Всё будет Кока-Кола.
Trotil First of may ещё можно запендюрить два изображения в дивы с абсолютным позиционированием, и менять их прозрачночть. Получится плавное перетекание одной картинки в другую, но там нужно помучаться чуть дольше.

Trotil в принципе можно и не создавать объект изображения, а просто подменить срк у элемента. Браузер сам загрузит пик, но при первом наведении будет небольшой скачок. (вариант Itsygo )
14.07.2008 в 22:19

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

Лично мне такой вариант не очень по душе...
Поэтому я и предложил предварительную подгрузку.
14.07.2008 в 22:24

Geza Anda pl Mozart-PC 21 in CM K467-I Allegro Maestoso[13:54].flac
>Trotil First of may ещё можно запендюрить два изображения в дивы с абсолютным позиционированием, и менять их прозрачночть
мона тогда не прозрачность а z-index
14.07.2008 в 22:33

Крайне злопамятное хамло ;)
Мне понравилось решение в форуме phpBB3) Там для кнопок используются картинки, разделенные горизонтально на 2 части) Верхняя часть кнопка в обычном состоянии, нижняя часть кнопка при наведении. Потом методом onmouseover меняется позиционирование кнопки путем изменения значения top на величину равную (0-половина общей высоты картинки). Преимущество такого метода в том, что сменные картинки подгружаются сразу)
14.07.2008 в 22:34

вечноволнующееся чмо
Itsygo
А как это сделать? Есть ли пример?
14.07.2008 в 23:37

Всё будет Кока-Кола.
Itsygo будет резкий скачок (вроде так :-/). Абсолютно бессмысленно беря во внимание вариант Trotil (у него проще).
First of may ну вот например мой код (плавно показывает мой логопит на старт пэйдж).



<sсriрt language=Javasсript>
var opacity = 0;
var handler = 0;
function hello_show()
{
opacity++;
document.getElementById("logotype").style.filter="alpha(opacity="+opacity+")";
document.getElementById("logotype").style.opacity=opacity/100;
handler = setTimeout("hello_show()",10);
if (opacity>99) clearTimeout(handler);
}
next();
</sсriрt>
<img src="logotype.gif" alt="Logotype." style="margin-bottom: 50px; opacity: 0; filter: alpha(opacity=0); " id="logotype" onload="setTimeout('hello_show()',1000);">


Просто повесть обработчик на две картинки и расположи их одна по одной.
15.07.2008 в 06:04

Geza Anda pl Mozart-PC 21 in CM K467-I Allegro Maestoso[13:54].flac
Волчонок Джей,
с opacity (вроде) НЕ кроссбраузеровое решение. недавно делал сайт для проэкта, за...лся с опасити png и гифов и попытками заставить её правильно работать на ie6 (opera и ff вроде были ничего, хотя у ff (вроде) другое название фильтра).

Насчет скачка, может быть, но мне казалось, что если прелоудить картинки и они одного размера - то всё должно быть ок (по кр мере в варианте 2).

First of may,
1 вариант - 2 div с картинками и разными z-index'aми, - достаешь дивы через getelementbyid, меняешь z-index при onmouseover/out (или можно поменять display:none/block). Примера нет, писать влом. Погугли, похожих примеров должно быть предостаточно. upd (www.htmlforums.com/client-side-scripting/t-onmo...)

2ой вариант просто с хэндлерами onmouseover/out на img мя давал ссылку выше.
15.07.2008 в 16:49

Всё будет Кока-Кола.
Itsygo обрати внимание: у меня и опаси и фильтр.
15.07.2008 в 18:11

Geza Anda pl Mozart-PC 21 in CM K467-I Allegro Maestoso[13:54].flac
Itsygo обрати внимание: у меня и опаси и фильтр.
:D каюсь. тем не менее, работает ли это на i.e 6?
15.07.2008 в 18:37

Всё будет Кока-Кола.
Itsygo йа-йа. =) Я всегда тестирую в 7 п 6 ослике. =) Они ведь такие похожие, но совсем разные. =)
Z-индекс - это позиционирование слоя, и при смене хоть на одну единицу слой выскачит вверх. Вот и получится резкий скачек изображения. А вот со сменой прозрачности можно добиться морфинга.
15.07.2008 в 20:26

Geza Anda pl Mozart-PC 21 in CM K467-I Allegro Maestoso[13:54].flac
А какая реакция при display:none -> block и visibility: hidden-> visible?
16.07.2008 в 14:23

Всё будет Кока-Кола.
Itsygo поясни вопрос.
16.07.2008 в 15:55

Geza Anda pl Mozart-PC 21 in CM K467-I Allegro Maestoso[13:54].flac
уже попробовал сам, просто было лень ;).
но спасибо за внимание :)
16.07.2008 в 16:20

Всё будет Кока-Кола.
Itsygo при визибле = хидден - блок генерируется но не отображается. Дли дисплэй = ноне, ене генерируется (картинки не подгружаются).

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail