拖拽移动div

https://code.h5jun.com/fofev/edit?html,css,js,output

  1. <div id="box">
  2. <style>
  3. *{
  4. margin: 0;
  5. padding: 0;
  6. }
  7. body{
  8. position: relative;
  9. }
  10. #box{
  11. width: 50px;
  12. height: 50px;
  13. background: deepskyblue;
  14. position: absolute;
  15. left: 100px;
  16. top: 50px;
  17. }
  18. </style>
  1. const box = document.getElementById("box");
  2. let nowW, nowH, flag;
  3. box.onmousedown = function (e) {
  4. nowW = e.clientX;
  5. nowH = e.clientY;
  6. flag = true;
  7. document.onmousemove = function (e) {
  8. if (!flag) return false;
  9. const moveX = e.clientX - nowW;
  10. const moveY = e.clientY - nowH;
  11. const left = parseInt(box.style.left || 0);
  12. const top = parseInt(box.style.top || 0);
  13. box.style.left = left + moveX + "px";
  14. box.style.top = top + moveY + "px";
  15. nowW = e.clientX;
  16. nowH = e.clientY;
  17. };
  18. document.onmouseup = function () {
  19. flag = false;
  20. };
  21. document.onmouseleave = function () {
  22. flag = false;
  23. };
  24. };

键盘移动div

https://code.h5jun.com/kehum/edit?html,css,js,output

  1. <body>
  2. <div id="box">
  3. <div id="move">静止</div>
  4. </div>
  5. <script>
  6. const box = document.getElementById("box");
  7. const move = document.getElementById("move");
  8. let lefts = box.style.left || 0;
  9. let tops = box.style.top || 0;
  10. document.addEventListener("keydown", function (e) {
  11. const code = e.keyCode;
  12. move.innerHTML = "开始移动";
  13. switch (code) {
  14. case 38:
  15. move.innerHTML = "上";
  16. tops -= 5;
  17. break;
  18. case 40:
  19. move.innerHTML = "下";
  20. tops += 5;
  21. break;
  22. case 37:
  23. move.innerHTML = "左";
  24. lefts -= 5;
  25. break;
  26. case 39:
  27. move.innerHTML = "右";
  28. lefts += 5;
  29. break;
  30. default:
  31. break;
  32. }
  33. box.style.top = tops + "px";
  34. box.style.left = lefts + "px";
  35. });
  36. document.addEventListener("keyup", function () {
  37. move.innerHTML = "静止";
  38. });
  39. document.addEventListener("keypress", function () {
  40. console.log("keypress");
  41. });
  42. </script>
  43. </body>