Guest User

Untitled

a guest
Jun 19th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. function getOffset( el ) {
  2. var rect = el.getBoundingClientRect();
  3. return {
  4. left: rect.left + window.pageXOffset,
  5. top: rect.top + window.pageYOffset,
  6. width: rect.width || el.offsetWidth,
  7. height: rect.height || el.offsetHeight
  8. };
  9. }
  10.  
  11. function connect(div1, div2, color, thickness) { // draw a line connecting elements
  12. var off1 = getOffset(div1);
  13. var off2 = getOffset(div2);
  14. // bottom right
  15. var x1 = off1.left + off1.width;
  16. var y1 = off1.top + off1.height;
  17. // top right
  18. var x2 = off2.left + off2.width;
  19. var y2 = off2.top;
  20. // distance
  21. var length = Math.sqrt(((x2-x1) * (x2-x1)) + ((y2-y1) * (y2-y1)));
  22. // center
  23. var cx = ((x1 + x2) / 2) - (length / 2);
  24. var cy = ((y1 + y2) / 2) - (thickness / 2);
  25. // angle
  26. var angle = Math.atan2((y1-y2),(x1-x2))*(180/Math.PI);
  27. // make hr
  28. var htmlLine = "<div style='padding:0px; margin:0px; height:" + thickness + "px; background-color:" + color + "; line-height:1px; position:absolute; left:" + cx + "px; top:" + cy + "px; width:" + length + "px; -moz-transform:rotate(" + angle + "deg); -webkit-transform:rotate(" + angle + "deg); -o-transform:rotate(" + angle + "deg); -ms-transform:rotate(" + angle + "deg); transform:rotate(" + angle + "deg);' />";
  29. //
  30. // alert(htmlLine);
  31. document.body.innerHTML += htmlLine;
  32. }
  33.  
  34. // bottom right
  35. var x1 = off1.left + off1.width;
  36. var y1 = off1.top + off1.height;
  37. // top right
  38. var x2 = off2.left + off2.width;
  39. var y2 = off2.top;
Add Comment
Please, Sign In to add comment