Покопавшись, нашел более "легкий" вариант написания кода:
<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", интерпретирует его как восьмеричное число, поэтому желательно указывать во втором параметре систему счисления. Хотя можно и не указывать, это для особо придирчивых