当前位置:   article > 正文

absolute和relative定位简单示例&div在屏幕拖动_absolutemovex

absolutemovex
  1. <html lang="zh">
  2. <head>
  3. <meta charset="UTF-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  5. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  6. <title>absolute和relative定位示例</title>
  7. <script src="jquery-1.8.3.min.js"></script>
  8. <style type="text/css">
  9. .divFather{
  10. left: 200px;
  11. top: 200px;
  12. position: absolute;/* 绝对定位 */
  13. height: 300px;
  14. width: 300px;
  15. background: #bfb0b0;
  16. display: flex;/* 设置为弹性布局 */
  17. justify-content: space-around;/* 内容左右居中显示 */
  18. align-items: center; /* 内容上下居中显示 */
  19. z-index: 1
  20. }
  21. .divSon{
  22. position: relative;/* 绝对定位 */
  23. height: 150px;
  24. width: 150px;
  25. background: #ca7979;
  26. display: flex;
  27. justify-content: space-around;
  28. align-items: center;
  29. }
  30. .divGrandson{
  31. height: 60px;
  32. width: 60px;
  33. position: absolute;/* 绝对定位 */
  34. background: green;
  35. }
  36. .moveDiv{
  37. position: absolute;
  38. left: 100px;
  39. top: 50px;
  40. width: 150px;
  41. height: 150px;
  42. background: #d4bfbf;
  43. display: flex;
  44. justify-content: space-around;
  45. align-items: center;
  46. border-radius: 100px;
  47. z-index:2;
  48. }
  49. </style>
  50. </head>
  51. <body>
  52. <div class="divFather">
  53. <div class="divSon">
  54. <div class="divGrandson">
  55. </div>
  56. </div>
  57. </div>
  58. <div class="moveDiv">
  59. 我是鼠标拖动模块
  60. </div>
  61. <script type="text/javascript">
  62. // 获取屏幕的高宽度
  63. let cw = $(window).width();
  64. let ch = $(window).height();
  65. // 鼠标按下时获取鼠标在屏幕的位置
  66. $(".moveDiv").mousedown(function(e){
  67. e = e || window.event;
  68. // 获取鼠标在元素上的位置(鼠标按下时在元素上得位置)
  69. let X = e.clientX - $(".moveDiv").offset().left;
  70. let Y = e.clientY - $(".moveDiv").offset().top;
  71. $(".moveDiv").mousemove(function(e){
  72. console.log(cw ,ch);
  73. e = e || window.event;
  74. let x = e.clientX - X;
  75. let y = e.clientY - Y;
  76. if(x<0)x=0;
  77. if(y<0)y=0;
  78. if(x + $('.moveDiv').width() > cw) x = cw-$('.moveDiv').width();
  79. if(y +$('.moveDiv').height() > ch) y = ch-$('.moveDiv').height();
  80. $('.moveDiv').css({
  81. 'left':x,
  82. 'top':y
  83. })
  84. })
  85. });
  86. // 鼠标抬起事件
  87. $(document).mouseup(function(){
  88. $(".moveDiv").unbind("mousemove")
  89. })
  90. </script>
  91. </body>
  92. </html>

实际展示效果图:

html代码可以直接复制出去,创建一个demo.html,然后找到jquery引入即可,访问页面可以展示以上效果。

或者直接在本人百度网盘下载即可

链接: https://pan.baidu.com/s/1c5Uy7VbK1PaLIgW8-RvapA 提取码: 3swy

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/905932
推荐阅读
相关标签
  

闽ICP备14008679号