Задать вопрос
@Mary01

Почему не работает функция определения координат курсора?

Новичек. Почему-то не работает скрипт для Firefox для "живого" отображения координат курсора.
И ещё, есть ли альтернатива window.screenX, window.screenY свойств для определения координат в Хром?
<!DOCTYPE html>
<html>
<head>
    <title>123</title>
    <script>
        window.onload = function () {

            setInterval(getPos, 5, 5);

            function getPos() {
                document.write("x: " + window.screenX + "y: " + window.screenY);
            };
        };
    </script>
</head>
<body>
</body>
</html>

Господа, спасибо, конечно, но не могли Вы бы указать непосредственно на недостатки моего метода? Мне кажется, всё должно работать, но почему-то не хочет. Почему?
Написано только что
  • Вопрос задан
  • 305 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Komatera
Ваш код вроде как вообще с курсором не связан
Попробуйте этот (он рабочий):
<script type="text/javascript">
/**
 * Объект работает с координатами курсора
 *
 * @author Artem Fedorov 2010
 *
 */
var MouseCoords = {

	// X-координата
	getX: function(e)
	{
		if (e.pageX)
		{
			return e.pageX;
		}
		else if (e.clientX)
		{
			return e.clientX+(document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
		}

		return 0;
	},

	// Y-координата
	getY: function(e)
	{
		if (e.pageY)
		{
			return e.pageY;
		}
		else if (e.clientY)
		{
			return e.clientY+(document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
		}

		return 0;
	}
}

document.onmousemove = function(e)
{
	if (!e) e = window.event;

	var mouseCoordsLayer = document.getElementById('mouse_coords_on_move');
	mouseCoordsLayer.innerHTML = '<h2>Координаты во время движения</h2>';
	mouseCoordsLayer.innerHTML += '<p>X: '+MouseCoords.getX(e)+'</p>';
	mouseCoordsLayer.innerHTML += '<p>Y: '+MouseCoords.getY(e)+'</p>';
}

document.onclick = function(e)
{
	if (!e) e = window.event;

	var mouseCoordsLayer = document.getElementById('mouse_coords_on_click');
	mouseCoordsLayer.innerHTML = '<h2>Координаты при клике</h2>';
	mouseCoordsLayer.innerHTML += '<p>X: '+MouseCoords.getX(e)+'</p>';
	mouseCoordsLayer.innerHTML += '<p>Y: '+MouseCoords.getY(e)+'</p>';
}

//--></script>

<div id="mouse_coords_on_move"></div>
<div id="mouse_coords_on_click"></div>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы