Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. <html>
  2. <head>
  3. <title>
  4. </title>
  5. <script src="https://cdnjs.cloudflare.com/ajax/libs/snap.svg/0.4.1/snap.svg-min.js"></script>
  6.  
  7. </head>
  8. <body>
  9.  
  10. <script>
  11. var s = Snap(600,500);
  12.  
  13. var rect = s.rect(0,0,40,40);
  14. var rectr = s.rect(400,90,50,50);
  15. var b=0;
  16. var c=0;
  17. var isInter;
  18. var move = function(dx,dy, x, y, event) {
  19.  
  20. var b1 = rect.getBBox();
  21. var b2 = rectr.getBBox();
  22. isInter = Snap.path.isBBoxIntersect(b1, b2);
  23.  
  24. if (isInter==false) {
  25. b=dx;
  26. c=dy;
  27. }
  28.  
  29. if (isInter==true) {
  30.  
  31. if (b1.y2==b2.y&&b1.x2==b2.x||b1.x==b2.x2&&b1.y2==b2.y){c=b2.y-b1.h, b=dx
  32. }
  33. else if (b1.x==b2.x2&&b1.y==b2.y2||b1.x2==b2.x&&b1.y==b2.y2){c=b2.y2; b=dx;}
  34. else if (b1.y2==b2.y){(dy>=b2.y-b1.h) ? (c=b2.y-b1.h, b=dx): (b=dx, c=dy);}
  35. else if (b1.y==b2.y2){(dy<=b1.y) ? (c=b2.y2, b=dx):(b=dx,c=dy);}
  36. else if (b1.x2==b2.x){(dx>=b1.x) ? (b=b2.x-b1.width, c=dy):(b=dx, c=dy);}
  37. else if (b1.x==b2.x2){(dx<=b1.x2) ? (b=b2.x2, c=dy):(b=dx, c=dy);}
  38. else {b=dx; c=dy;}
  39.  
  40. }
  41.  
  42. this.attr({
  43. transform: this.data('origTransform') + ((this.data('origTransform')) ? "t": "T") + [b,c]
  44. });
  45.  
  46. }
  47.  
  48. var start = function() {
  49. this.data('origTransform', this.transform().local );
  50. b=0;
  51. c=0;
  52. }
  53.  
  54.  
  55. rect.drag(move, start);
  56. circle.drag(move, start);
  57. </script>
  58. </body>
  59. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement