Инструменты пользователя

Инструменты сайта


programming:js:curosr_position

X, Y координаты курсора

/////////////////////////////
// Положение курсора

isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isMSIE=document.all && document.all.item //Microsoft Internet Explorer 4+
isNetscape4=document.layers //Netscape 4.*
isOpera=window.opera //Opera
isOpera5=isOpera && isDOM //Opera 5+
isMSIE5=isDOM && isMSIE && !isOpera //MSIE 5+
isMozilla=isNetscape6=isDOM && !isMSIE && !isOpera

function mousePageXY(e)
{
	var x = 0, y = 0;
	
	if (!e) e = window.event;
	
	if (e.pageX || e.pageY)
	{
		x = e.pageX;
		y = e.pageY;
	}
	else if (e.clientX || e.clientY)
	{
		if (document.body != null)
		{
			x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
			y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
		}
	}
	
	return {"x":x, "y":y};
}


// Относительное (Relative Cursor Position)
var rcpx;
var rcpy;

// Scroll offset
var pagexoff = 0;
var pageyoff = 0;

// Абсолютное положение курсора
var cpx;
var cpy;

document.onmousemove = function(e)
{
	// Положение курсора
	var mCur = mousePageXY(e);
	cpx = mCur.x;
	cpy = mCur.y;
	
	// Оффсет при скролле
	if (isMSIE5)
	{
		if (document.body != null)
		{
			pagexoff = document.body.scrollLeft;
			pageyoff = document.body.scrollTop;
		}
	}
	else
	{
		pagexoff = window.pageXOffset;
		pageyoff = window.pageYOffset;
	}
	
	rcpx = cpx-pagexoff;
	rcpy = cpy-pageyoff;
};

//
/////////////////////////////
programming/js/curosr_position.txt · Последнее изменение: 2017/03/27 11:28 — artur

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki