JS操作DOM,两个简单的小案例

2021年11月29日 20:05:32 阅读数:475 博客 / xiablog

可以编辑的表格

效果

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>edittable</title>
  6. <style type="text/css">
  7. .container {
  8. color: white;
  9. }
  10. li {
  11. float: left;
  12. list-style: none;
  13. line-height: 30px;
  14. height: 30px;
  15. background-color: #F4A460;
  16. margin-right: 20px;
  17. }
  18. ul>li:nth-child(1) {
  19. width: 100px;
  20. background-color: coral;
  21. }
  22. ul>li:nth-child(2) {
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <div class="container">
  28. <ul>
  29. <li>Java</li>
  30. <li>Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。</li>
  31. </ul>
  32. <br>
  33. <ul>
  34. <li>JavaScript</li>
  35. <li>JavaScript 是 Web 的编程语言。</li>
  36. <li></li>
  37. </ul>
  38. <br>
  39. <ul>
  40. <li>Python</li>
  41. <li>Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。</li>
  42. </ul>
  43. <br>
  44. <ul>
  45. <li>PHP中文网</li>
  46. <li>学习PHP</li>
  47. </ul>
  48. </div>
  49. <script type="text/javascript">
  50. window.onload = function() {
  51. var lis = document.getElementsByTagName('li');
  52. console.log(lis)
  53. for (var i = 0; i < lis.length; i++) {
  54. lis[i].onclick = function() {
  55. for (var j = 0; j < this.childNodes.length; j++) {
  56. if (this.childNodes[j].nodeName == 'INPUT') {
  57. return false;
  58. }
  59. }
  60. var orgtext = this.innerText; //取出原内容
  61. console.log(orgtext);
  62. this.innerHTML = ''; // 清空内容
  63. //创建标签
  64. var inputo = document.createElement('input');
  65. inputo.type = "text";
  66. inputo.style.cssText = "border:0px;width:100%;height:30px;font-size:16px;";
  67. inputo.value = orgtext;
  68. this.appendChild(inputo);
  69. inputo.focus();
  70. inputo.select();
  71. var thisli = this;
  72. console.log(thisli);
  73. inputo.onkeyup = function(e) {
  74. var event = e || window.event;
  75. if (event.keyCode == 13) {
  76. thisli.innerHTML = this.value;
  77. } else if (event.keyCode == 27) {
  78. console.log(orgtext);
  79. thisli.innerHTML = orgtext;
  80. }
  81. }
  82. //已经进入编辑状态,不再处理click事件
  83. inputo.onclick = function(e) {
  84. return false;
  85. }
  86. }
  87. }
  88. }
  89. </script>
  90. </body>
  91. </html>

超简单的固定导航

效果

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style>
  7. * {
  8. margin: 0;
  9. padding: 0
  10. }
  11. .main {
  12. margin: 0 auto;
  13. width: 1000px;
  14. margin-top: 10px;
  15. }
  16. .fixed {
  17. width: 100%;
  18. position: fixed;
  19. top: 0;
  20. left: 0;
  21. }
  22. .top {
  23. height: 60px;
  24. background-color: cornflowerblue;
  25. }
  26. #navBar {
  27. text-align: center;
  28. }
  29. </style>
  30. </head>
  31. <body>
  32. <div class="top" id="topPart">
  33. </div>
  34. <div id="navBar">
  35. <img src="../images/image1.png" alt="" />
  36. </div>
  37. <div class="main" id="mainPart">
  38. <img src="../images/image2.jpg" alt="" />
  39. </div>
  40. <script>
  41. var topPart = document.getElementById("topPart");
  42. var navBar = document.getElementById("navBar");
  43. var mainPart = document.getElementById("mainPart");
  44. window.onscroll = function() {
  45. if (scroll().top > topPart.offsetHeight) {
  46. navBar.className = "fixed";
  47. mainPart.style.paddingTop = navBar.offsetHeight + "px";
  48. } else {
  49. navBar.className = "";
  50. mainPart.style.paddingTop = 0;
  51. }
  52. };
  53. function scroll() {
  54. return {
  55. top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0,
  56. left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0
  57. };
  58. }
  59. </script>
  60. </body>
  61. </html>
批改状态:合格

老师批语:

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
博主信息
xiablog
博文
20
粉丝
1
评论
0
访问量
12199
积分:0
P豆:40