en.javascript.info/2-ui/3-event-details/7-drag-and-drop-objects/dragDemo.view/lib.js
Ilya Kantor 87bf53d076 update
2014-11-16 01:40:20 +03:00

30 lines
850 B
JavaScript
Executable file

function getCoords(elem) {
var box = elem.getBoundingClientRect();
var body = document.body;
var docElem = document.documentElement;
var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
var clientTop = docElem.clientTop || body.clientTop || 0;
var clientLeft = docElem.clientLeft || body.clientLeft || 0;
var top = box.top + scrollTop - clientTop;
var left = box.left + scrollLeft - clientLeft;
return { top: Math.round(top), left: Math.round(left) };
}
function getElementUnderClientXY(elem, clientX, clientY) {
var display = elem.style.display || '';
elem.style.display = 'none';
var target = document.elementFromPoint(clientX, clientY);
elem.style.display = display;
return target;
}