Большой Воронежский Форум
» Веб-дизайн>Пара вопросов по JavaScript
takeda 15:43 14.02.2006
Есть пара вопросов по JavaScript.
Вот допустим я написал простейший скрипт, который выводит на экран
какой-то текст. Я поместил этот скрипт в отдельный файл, например script.js
Вот теперь вопрос, как мне сделать чтобы этот скрипт из файла выполнялся на моей странице?
пробовал прописать <SCRIPT SRC="security.js"></SCRIPT> но ничего не работает.

И второе, можно ли сделать так, чтобы при наведении курсора на ссылку, менялся цвет фона ячейки таблицы, в которой
эта ссылка находится. Я сам могу сделать чтобы менялся цвет всего фона, или текста, или ссылок,
а чтобы конкретно этой ячейки таблицы, не могу. [Ответ]
DimmaN 16:31 14.02.2006
Про первое - учебник почитайте, даже отвечать не охота...

Про второе - надо разместить в ячейке контейнер DIV, в котором разместить содержимое. Обработать события OnMouseOver и OnMouseOut этого контейнера, для изменения свойства background. Я бы с этого начал, не вижу причин, чтоб не получилось. [Ответ]
phasma 16:38 14.02.2006
1. в JS файлике указываешь функцию ... скаже hack_me

function hack_me ()
{
alert('I hack u to ur anus');
}

в HTML у body пишешь onload="hack_me ();"

З.Ы. onload и другие события лучше писать с маленькой буквы ))) стандарт XHTML

2. для кнопки ... для таблицы просто ID поидее меняецо )))

<script type="text/javascript" language="javascript">
function change_color()
{
document.getElementById('button').style.background Color='#333333';
}
</script>

<input type="button" id="button" onmouseover="change_color ();" value="123" />

что-то вроде этого ... вообчем лучше поискать в сети ... думаю примеры не будут работать %) [Ответ]
maximn 23:30 14.02.2006
по первому пункту - не уверен что onload срабатывает после окончания загрузки. я бы вставил
Код:
<script language="javascript">
//<!--
hack_me();
//-->
</script>
перед </body>

по второму пункту - нужен onmouseout, чтобы менять цвет обратно

добавил
хотя может ему и не надо ждать пока страница догрузится - хз [Ответ]
phasma 00:34 15.02.2006
ну дык да ... можно и так ... но будет ли код корректен ??? я лично не проверял .. нада попробовать как-нить ... [Ответ]
maximn 00:41 15.02.2006
работает однозначно =)
кстати - вопрос о моменте срабатывания onload довольно интересен. к примеру если он не дожидается загрузки всей страницы, то в случае обращения к элементу - его может просто еще не быть. onload никогда не юзал - без понятия. [Ответ]
phasma 01:07 15.02.2006
=))) я тоже не сталкивался никогда с onload ... я на php генерирую страницу и потом только для каких-нить функций типа вставки текста использую ... выбора меню из Select ... и прочего )) [Ответ]
nemoluca 02:16 15.02.2006
по первому ответили, по второму: если я правильно понял что требуется, то вот пример для строк (легко перейдешь на отдельные ячейки (мне лень) как только вкуришь принцип)

Сообщение от :
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>menu</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript">
function setEvents()
{
var table = document.getElementById("cooltable");
var len = table.rows.length;
for (var i = 0; i < len; i++)
{
var tr = table.rows[i];
tr.onmouseover = function omo() {this.bgColor = 'gray'};
tr.onmouseout = function omo() {this.bgColor = 'white'};
}
}
</script>
</head>
<body marginheight="0" margintop="0" style="margin:0px;" onload="setEvents()">
<table id="cooltable">
<tr>
<td>123</td>
<td>436</td>
<td>543</td>
</tr>
<tr>
<td>123</td>
<td>436</td>
<td>543</td>
</tr>
<tr>
<td>123</td>
<td>436</td>
<td>543</td>
</tr>
</table>
</body>
</html>

[Ответ]
Вверх