Доброго времени! У меня есть такая задача : есть текст, оформленный в виде нескольких блоков (<div></div>) а так же есть картинка. Необходимо чтобы при перетаскивании этой картинки на какой - то из блоков текста и отпускании картинки он менял свои стилевые свойства (шрифт например). Я нашел вроде рабочий пример d'n'd и изменил там одну функцию, которая отвечает за начало инициализации движения. Потом попыталя сделать так, чтобы при наведении картинки на блок и отпускании кнопки мыши текст менял размер шрифта, но что то не получается. Помогите пожалуйста. Листинг вот:
<html>
<head>
<title>DaD</title>
<script>
// Объявим глобальные переменные
// Переменная состояния, по умолчанию ничего не двигается = false
var moveState = false;
// Переменные координат мыши в начале перемещения, пока неизвестны
var x0, y0;
// Начальные координаты элемента, пока неизвестны
var divX0, divY0;
//это картинка тоже в отдельном блоке
// Добавим прямо в DIV обработчики событий
document.write(
"<div id=a\
style='position:absolute;left:50;top:50;' \
onmousedown = 'initMove(this, event);' \
onmouseup = 'StartLocation(this);' \
onmousemove = 'moveHandler(this, event);' \
><img src=font_n.jpg name=a></div>"
);
// Объявим функцию для определения координат мыши
function defPosition(event) {
var x = y = 0;
if (document.attachEvent != null) {
x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
}
return {x:x, y:y};
}
// Функция инициализации движения
// Записываем всё параметры начального состояния
function initMove(div, event) {
var event = event || window.event;
x0 = defPosition(event).x;
y0 = defPosition(event).y;
divX0 = 50;
divY0 = 50;
moveState = true;
}
//тут я добавил сам
// Если клавишу мыши отпустили вне элемента движение должно прекратиться
function StartLocation(div) {
//здесь картинка возвращается на исходное место
divX0 = 50;
divY0 = 50;
div.style.left=divX0;
div.style.top=divY0;
moveState = false;
//эта функция как я понимаю должна возвраитить id элемента на котром произошло событие
var eid=window.event.srcElement.id;
//эта функция изменяет шрифт на 16
document.getElementbyId(eid).fontsize="16";
}
// Функция обработки движения:
function moveHandler(div, event) {
var event = event || window.event;
if (moveState) {
div.style.left = divX0 + defPosition(event).x - x0;
div.style.top = divY0 + defPosition(event).y - y0;
}
}
</script>
</head>
<body>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
//здесь определяем что по отпускании нажатой левой кнопки мыши я
//вызываю функцию StartLocation
<div id="1" onmouseup="StartLocation(this.id);"><dd>
Имя Андрея Поздеева относится к наиболее значительным в истории русского искусства ХХ столетия. Это тем более важно понять, так как Андрей Поздеев не принадлежал к столичному кругу авангарда 60 - 80-х годов, а следовательно, не имел такой художественной среды, в которой вольно или невольно прокручиваются близкие творческие идеи, имеется круг почитателей, способных поддерживать художника, раскручивать его имя и создавать условия для развития.
</div>
<div id="2" onmouseup="StartLocation(this.id);" ><dd>
Андрей Поздеев - коренной сибиряк. Среди его предков были кузнецы и столяры, один из прадедов был ссыльным поляком. Андрей Геннадьевич Поздеев родился 27 сентября 1926 года в селе Нижний Ингаш Красноярского края в семье почтового служащего Поздеева Геннадия Даниловича и его жены Евдокии Ивановны.
</div>