Показать сообщение отдельно
  #15 (permalink)  
Старый 26.08.2012, 23:37
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Покопавшись, нашел более "легкий" вариант написания кода:

<style>
	div {
		position: absolute;
		left: 40%;
		top: 40%;
		width: 50px;
		height: 50px;
		background: lightgreen;
		padding: 20px;
	}
</style>


<div>div</div><span></span>

<script>
window.onload = function () {

	document.body.children[0].onmousemove = function (e) {
		e = e || event;
		var coords = this.getBoundingClientRect();
		var x = Number(e.clientX - coords.left);
		var y = Number(e.clientY - coords.top);
		this.nextSibling.innerHTML = x + '<br>' + y;
	}
}
</script>


Так будет быстрее, потому как parseInt() помимо преобразования строки в число, еще анализирует ее, что занимает дополнительное время
Кстати, ParseInt согласно ES3, если получает число начинающееся с "0", интерпретирует его как восьмеричное число, поэтому желательно указывать во втором параметре систему счисления. Хотя можно и не указывать, это для особо придирчивых