Skip to content

Instantly share code, notes, and snippets.

Forked from jasondavies/index.html
Last active February 9, 2016 01:15
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save mbostock/1865422 to your computer and use it in GitHub Desktop.
offsetX / offsetY
<!DOCTYPE html>
<meta charset="utf-8">
body {
border: solid 3px steelblue;
cursor: crosshair;
#parent {
cursor: crosshair;
border: solid 7px steelblue;
position: relative;
margin: 29px auto;
padding: 31px;
width: 800px;
height: 400px;
background: #eee;
#child {
position: absolute;
border: solid 13px steelblue;
margin: 17px;
padding: 23px;
top: 100px;
left: 100px;
width: 200px;
height: 100px;
background: #ccc;
#circle {
position: absolute;
pointer-events: none;
border-radius: 12px;
margin-left: -12px;
margin-top: -12px;
width: 24px;
height: 24px;
background: red;
#small-circle {
position: absolute;
pointer-events: none;
background: black;
border-radius: 6px;
top: 12px;
left: 12px;
margin-left: -4px;
margin-top: -4px;
width: 8px;
height: 8px;
#square {
position: absolute;
top: -30px;
left: -30px;
width: 10px;
height: 10px;
background: green;
<div id="parent">
<div id="offset"></div>
<div id="child">
<div id="circle">
<div id="small-circle"></div>
<div id="square"></div>
<script src="//"></script>
<script>"#child").on("mousemove", function() {
var rect = this.getBoundingClientRect(),
ox = d3.event.pageX - rect.left - this.clientLeft - window.pageXOffset,
oy = d3.event.pageY - - this.clientTop - window.pageYOffset;"#offset").text(ox + "," + oy);"#circle")
.style("left", ox + "px")
.style("top", oy + "px");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment