Добрый день.
Суть проблемы заключается в том, что мне необходимо реализовать перемещение и изменение размеров объектов(блоков div).
<div id="header" class="b_res">
<div class="top_g" id="headertop"></div>
<div class="left_g" id="headerleft"></div>
<div class="right_g" id="headerright"></div>
<div style="clear: both;"></div>
<div class="bottom_g" id="headerbottom"></div>
</div>
Это один блок, на странице их значительно больше. Соответственно на "header" накладываю события для перемещения, а для "headertop", "headerleft"... изменение размеров(это рамки, расположенные по краям родительского div`а "header". Возможно, отвратительное решение, но другого не нашёл). С перемещением разберусь сам, если поможете с изменением размеров.
document.getElementById('headertop').onmousedown = function(event) { saveCoord(this.parentNode,this); }
document.getElementById('headerleft').onmousedown = function(event) { saveCoord(this.parentNode,this); }
document.getElementById('headerright').onmousedown = function(event) { saveCoord(this.parentNode,this); }
document.getElementById('headerbottom').onmousedown = function(event) { saveCoord(this.parentNode,this); }
function getCoord(o_event) {
if (o_event) {
x = o_event.pageX;
y = o_event.pageY;
}
else {
x = window.event.clientX;
y = window.event.clientY;
if (ie) {
y -= 2;
x -= 2;
}
}
return new Array(x, y);
}
function saveCoord(pElem,elem){
var coord = getCoord(event);
w_block = block.clientWidth;
h_block = block.clientHeight;
d_w = w_block - coord[0];
d_h = h_block - coord[1];
//дальнейший код
}
Так вот в Firefox
var coord = getXY(event);
ничего не возвращает. alert(event) выводит undefined. В остальных браузерах всё отлично работает.
Пытался использовать
http://javascript.ru/tutorial/events...entx-y-pagex-y также ничего не происходит.
Пытался выносить event в глобальную переменную и потом как-то с этим работать, но проблема либо остаётся, либо координаты считаются в разных браузерах по разному.