![]() |
![]() |
makm 07.04.2004 - 11:19 |
Подскажите. Для того, чтобы при наведении мышкой на картинку, менялась эта же картинка, использую код <img onMouseOver='eng("s","gif/news2.gif")' onMouseOut='eng("s","gif/abit.gif")' src="gif/s.gif" border=0 name=s > преварительно ссылась на файл скрипта с функцией eng - function eng(name,src) { document.images[name].src=src; } Что мне поменять или дописать, чтобы при наведении на эту же картинку, менялась одновременно и она, и другая, находящаяся в другой ячейке html |
buster 1 - 07.04.2004 - 11:30 |
Дать другой картинке, например, name=s1. И в функции дописать строку: document.images[name+"1"].src=src; |
makm 2 - 07.04.2004 - 11:46 | а как и где указать, что картинка в другой ячейке другая, а то он грузит туда файл s и s1 |
makm 3 - 07.04.2004 - 11:55 | Ошибся. Он загружает файлы news2 и abit . т.е. повторяет все действия для name = s |
makm 4 - 07.04.2004 - 12:00 | Может я не правильно выразился. Мне нужно чтобы во второй ячейке появлялась любая другая картинка, не файл news2.gif Куда дописать имя картинки, на которую должна меняться картинка из второй ячейки? |
buster 5 - 07.04.2004 - 12:16 |
Добавь ещё одну переменную в функцию: function eng(name,src,src2) { document.images[name].src=src; document.images[name+1].src=src2; } А в вызове функции передавай имя второй картинки: onMouseOver='eng("s","gif/news2.gif","gif/news3.gif")' |
buster 6 - 07.04.2004 - 12:17 |
неточно скопировал,правильно так: document.images[name+"1"].src=src2; |
makm 7 - 07.04.2004 - 12:54 | Спасибо. И ещё вопрос. Как сделать такую же операцию, только чтобы, когда я навожу мышь на кнопку меню, подсказка появляется в определенном месте, потом я навожу на другую кнопку, появляется подсказка в том же месте, где была предыдущая. |
buster 8 - 07.04.2004 - 12:57 | Сделать подсказки на слоях. Слои сделать нефидимыми. Расположить в одном и том же месте. При наведении показывать нужный слой, при убирании - прятать. |
Mips 9 - 07.04.2004 - 19:03 |
<div id=help style="visibility:hidden; position:absolute; left:99; top 99;">подсказка</div> <span onmouseover="help.style.visibility=''" onmouseout="help.style.visibility='hidden'">подсказка</span> а картинкам лучше делать прелоад. <script> c1 = new Image(); c1.src = "c1.gif"; c2 = new Image(); c2.src = "c2.gif"; </script> а потом куда надо их втыкать <script> function eng(name,src,src2) { document.images[name].src=c1; document.images[name+1].src=c2; } </script> |
DIVЕR 10 - 08.04.2004 - 00:32 |
С картинками я обычно делаю так: function light( sender ) { sender.src = sender.name + "_active.gif"; } function restore( sender ) { sender.src = sender.name + ".gif"; } ну и пример: <img name="news" src="news.gif" onmousemove="light(this);" onmouseout="restore(this);"> Естественно, с прелоадом до всего этого... (знаю, что sender использовать даже не обязательно, просто так нагляднее :) ) |
Fenakertiban 11 - 08.04.2004 - 23:04 | а не проще ли просто вызвать эту функуию 2 раза , но с разными аргументами ? (function eng(name,src) |
Mips 12 - 09.04.2004 - 09:27 |
Fenakertiban, можно и так ;) Если картинок много, и не хочется каждой прописывать onmouseover и out, то я пишу так: <style>img{border:0}</style> <script> document.onmouseover=over; document.onmouseout=out; function over(){ e=event.srcElement; if (e.tagName=="IMG" && e.className=="changeable") e.src=e.name+"_over.gif"; } function out(){ e=event.srcElement; if (e.tagName=="IMG" && e.className=="changeable") e.src=e.name+".gif"; } </script> <img class="changeable" name="pic1" src="pic1.gif"> <img class="changeable" name="pic2" src="pic2.gif"> тут в одну функцию вроде никак не слепишь. |
Любопытный варвар 13 - 09.04.2004 - 22:31 | Мипс (12), а как же прелоад? |
buster 14 - 10.04.2004 - 10:10 |
Ну, блин, про прелоад даже не говорит никто, это само собой разумеется. Никто же не спрашивает: “А где же <html></html>?” :о)) |