Показать сообщение отдельно
  #1 (permalink)  
Старый 12.10.2008, 05:55
Patriot
 
Сообщений: n/a

Не правильно определяются координаты в IE
Как определить координаты мыши относительно тела документа, а не окна? Вот код, если пролистать окно чуть вниз, все сбивается и становится криво реализована функция перетаскивания


<html>
<head>
	<meta http-equiv="Content-Language" content="en-us">
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
	<title>Test</title>
<script language="javascript" type="text/javascript">

<!--
var moving="";
var imgx=0;
var imgy=0;

function MousePos(){
	imgx = this.event.offsetX;
	imgy = this.event.offsetY;
}

function down_it() {
	if(window.event.srcElement.tagName=="IMG") {
		MousePos();
		moving=window.event.srcElement.id;
	}
}

function up_it() {
	if(moving!="") {
		moving="";
	}
}

function move_it() {
	if(moving!=""){
		document.all[moving].style.pixelLeft=this.event.clientX-imgx;
		document.all[moving].style.pixelTop=this.event.clientY-imgy;
		window.event.cancleBubble = true;
		window.event.returnValue = false;
	}
}

//-->
</script>

</head>
<body align="center" onMouseDown="down_it()" onMouseUp="up_it()" onMouseMove="move_it()">

<img id="img1" src="./040.jpg" style="position: absolute; top: 120px; left: 10px;" onMouseDown="MousePos()">
<img id="img2" src="./043.png" style="position: absolute; top: 120px; left: 30px;" onMouseDown="MousePos()">
<img id="img3" src="./044.png" style="position: absolute; top: 120px; left: 60px;" onMouseDown="MousePos()">
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><hr>

</body>
</html>

Последний раз редактировалось Андрей Параничев, 12.10.2008 в 16:39. Причина: Пользуйтесь bb-кодами [html] и [js] для оформления листингов кода в теле сообщения.
Ответить с цитированием