Jump to content

JavaScript


Recommended Posts

Ни как не могу с javascript разобраться. Как сделать чтобы картинка при нажатии была одной при наведении другой что то типа:

<img src="/image1.gif"

OnClick="/image2.gif"

OnOver="/image3.gif">

Или что то в этом роде.

Link to comment
Share on other sites

<a href="url" onMouseOver="document.pic1.src='a.gif'" onMouseOut="document.pic1.src='b.gif'"><IMG SRC="b.gif" BORDER=0 NAME="pic1"></a>

вот нечто вот такое надо делать

свойство src адресуется по имени pic1

впринципе можно так менять соседние картинки, главное указать их имя

Link to comment
Share on other sites

У всех елементов есть атрибут ID и Name

Насчет картинке:

<img src="image1.gif" onmouseover="this.src='image2.gif'" onmouseout="this.src='image1.gif'" onclick="this.src='image3.gif'">

Насчет таблице, надо менят style.background-color

Link to comment
Share on other sites

ID у всех тегов есть, а name нет.

С картинкой я вроде справился, с таблицей не выходит. Вот код:

<table>

<tr>

<td width="100" height="30" bgcolor="#FFFFFF" onMouseOver="this.bgcolor='#ff0000'" onMouseOut="this.bgcolor='#ffffff'"></td>

</tr>

</table>

Link to comment
Share on other sites

кажись так

<html><head><script type="text/javascript">var s, c1, c2, r1, g1, b1, r2, g2, b2;var fTimeout, fObj, fSteps = 25, fDelay = 5;function Fade(obj, color1, color2) { if (fTimeout) {clearTimeout(fTimeout);if (fObj) fObj.style.backgroundColor = c2; } fObj = obj; c1 = color1; c2 = color2; r1 = eval('0x' + c1.substring(0,2)); g1 = eval('0x' + c1.substring(2,4)); b1 = eval('0x' + c1.substring(4,6)); r2 = eval('0x' + c2.substring(0,2)); g2 = eval('0x' + c2.substring(2,4)); b2 = eval('0x' + c2.substring(4,6)); s = 0; DoFade();}function DoFade() { var d = s/fSteps, m = 1 - d; fObj.style.backgroundColor = "#" +Dec2Hex(r1 * m + r2 * d) +Dec2Hex(g1 * m + g2 * d) +Dec2Hex(b1 * m + b2 * d); if (s < fSteps) fTimeout = setTimeout('DoFade()', fDelay); s++;}function Dec2Hex(Dec) { var hexChars = new Array("0", "1", "2", "3", "4", "5", "6", "7",					   "8", "9", "a", "b", "c", "d", "e", "f"); var a = parseInt(Dec) % 16, b = (parseInt(Dec) - a)/16; var hex = "" + hexChars[b] + hexChars[a]; return hex;}</script></head><body><table border=1><tr><td onmouseover="Fade(this, 'ff6666', '992222')" onmouseout="Fade(this, '992222', 'ff6666')">текст таблицы</td></tr></table></body></html>
Edited by verba
Link to comment
Share on other sites

<table><tr><td width="100" height="30" bgcolor="#FFFFFF" onMouseOver="this.style.backgroundColor='#ff0000'" onMouseOut="this.style.backgroundColor='#ffffff'">1111111111</td></tr></table>

вот и все

Ничего не понял. Можно попроще? И зачем из десятичной в шестнадцатиричную систему переводить?

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

кроме того используется написание через функции - что при больших таблицах сильно сэкономит на размере html файла

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...