练习12_位移练习.html 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <style>
  8. /* .box1,.box2{
  9. width: 100px;
  10. height: 100px;
  11. background-color: red;
  12. }
  13. .box2{
  14. background-color:blue;
  15. } */
  16. </style>
  17. </head>
  18. <body>
  19. <!-- <div class="box">
  20. <div class="box1"></div>
  21. <div class="box2"></div>
  22. </div> -->
  23. <div class="box">
  24. <div class="box1">
  25. 项目一
  26. <button class="up-btn">向上</button>
  27. <button class="down-btn">向下</button>
  28. </div>
  29. <div class="box2">
  30. 项目二
  31. <button class="up-btn">向上</button>
  32. <button class="down-btn">向下</button>
  33. </div>
  34. <div class="box3">
  35. 项目三
  36. <button class="up-btn">向上</button>
  37. <button class="down-btn">向下</button>
  38. </div>
  39. </div>
  40. <script>
  41. // var oBox = document.getElementsByClassName("box")[0];
  42. // var oBox1 = document.getElementsByClassName("box1")[0];
  43. // var oBox2 = document.getElementsByClassName("box2")[0];
  44. // oBox.insertBefore(oBox2,oBox1);
  45. var aUpBtn = document.getElementsByClassName("up-btn");
  46. var aDownBtn = document.getElementsByClassName("down-btn");
  47. var oBox = document.getElementsByClassName("box")[0];
  48. for(var i=0;i<aUpBtn.length;i++){
  49. // 绑定向上按钮
  50. aUpBtn[i].onclick = function(){
  51. // 获取当前点击按钮的父元素
  52. var oParent = this.parentNode;
  53. // 获取当前点击按钮的父元素的上一个兄弟元素
  54. var oPre = oParent.previousElementSibling;
  55. if(oPre){
  56. // 如果当前点击按钮的父元素的上一个兄弟元素存在 则向前位移
  57. oBox.insertBefore(oParent,oPre);
  58. }else{
  59. console.log("已经是第一个了");
  60. }
  61. }
  62. // 绑定向下按钮
  63. aDownBtn[i].onclick = function(){
  64. //获取当前点击按钮的父元素
  65. var oParent = this.parentNode;
  66. // 获取当前父元素的后边的兄弟
  67. var oNext = oParent.nextElementSibling;
  68. if(oNext){
  69. // 如果当前点击按钮的父元素的后边的兄弟存在 则向后位移
  70. oBox.insertBefore(oNext,oParent);
  71. }else{
  72. console.log("已经是最后一个了")
  73. }
  74. }
  75. }
  76. </script>
  77. </body>
  78. </html>