I\'ve been coding a bit of Javascript to place a ducky randomly on this page.
I wanted to make it hide on the side of objects (like the posts), but I ended up having to
I had a case where I was working with mouse positions and objects as well not so long ago because I needed some drag and drop. So these are the two methods I came up with:
/** * Calculates the mouse x and y position from the mouse move event fired by the document * * @param event * the mouse move event fired by the document * * @return the mouse coordinates object with two variables x and y */ function mouseCoords(ev) { var event = ev; // IE does not pass the event object if (event == null) event = window.event; try { // normal style if (event.pageX) { return { x : event.pageX, y : event.pageY }; } // IE style else { return { x : event.clientX + document.body.scrollLeft - document.body.clientLeft, y : event.clientY + document.body.scrollTop - document.body.clientTop }; } } catch(ex) { // IE style return { x : event.clientX + document.body.scrollLeft - document.body.clientLeft, y : event.clientY + document.body.scrollTop - document.body.clientTop }; } } /** * Calculates an object with the x and y coordinates of the given object * * @param object * the object of which the coordinates to be calculated * * @return an object with x and y coordinates */ function getObjectPosition(object) { var left = 0; var top = 0; while (object.offsetParent) { left += object.offsetLeft; top += object.offsetTop; object = object.offsetParent; } left += object.offsetLeft; top += object.offsetTop; return { x : left, y : top }; }
I hope this can help you. This works for me in IE, Firefox and Chrome.