droppable-custom-overlap.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>jquery.pep droppable w/ custom overlap</title>
  6. <!-- Load local jQuery. -->
  7. <script src="../libs/jquery/jquery.js"></script>
  8. <script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
  9. <!-- Load local lib and tests. -->
  10. <script src="../src/jquery.pep.js"></script>
  11. <script type="text/javascript">
  12. $(document).ready(function(){
  13. $('.pep').pep({
  14. droppable: ".droppable",
  15. overlapFunction: function($a, $b){
  16. var rect1 = $a[0].getBoundingClientRect();
  17. var rect2 = $b[0].getBoundingClientRect();
  18. return ( rect2.left > rect1.left &&
  19. rect2.right < rect1.right &&
  20. rect2.top > rect1.top &&
  21. rect2.bottom < rect1.bottom );
  22. },
  23. useCSSTranslation: false
  24. });
  25. });
  26. </script>
  27. <style type="text/css">
  28. .pep{ width: 40px; height: 40px; background: blue; z-index: 10; }
  29. .droppable{ width: 100px; height: 100px;
  30. position: absolute;
  31. border: 5px solid #ccc; }
  32. .droppable.m { top: 50%; left:50%; margin-left: -50px; margin-top: -50px; }
  33. .droppable.tr { right: 30px; bottom: 30px; }
  34. .droppable.br { top: 30px; right: 30px;}
  35. .droppable.bl { top: 30px; left: 30px;}
  36. .droppable.tl { bottom: 30px; left: 30px;}
  37. .pep-dpa { border-color: blue; background: yellow }
  38. </style>
  39. </head>
  40. <body>
  41. <div class="pep"></div>
  42. <div class="droppable m"></div>
  43. <div class="droppable tr"></div>
  44. <div class="droppable br"></div>
  45. <div class="droppable bl"></div>
  46. <div class="droppable tl"></div>
  47. </body>
  48. </html>