当前位置:   article > 正文

JavaScript实现留言板_js留言板

js留言板

目录

1.案例说明:

2.html部分

3.css部分

4.js代码

5.全部代码

6.效果图:


1.案例说明:

利用JavaScript、css以及html制作一个简易的留言板

要求在页面文本框中输入一些文字之后,点击“提交”按钮,就可以让输入的文字和当前留言时间显示在下面,重新输入一些文字,再点击提交,就可以让新发布的内容显示在最上面。点击后面的删除,就可以删除已经提交后的留言。

【案例分析】利用节点的创建、添加和删除相关知识完成一个简易的留言板功能。在页面中实现单击“提交”按钮动态创建一个li元素,添加到ul里面。

2.html部分

主要有一个文本框,一个提交按钮,和一个展示留言部分的ul列表。

  1. <div id="mgs">
  2. <textarea id="text"></textarea><br>
  3. <input type="button" id="btn" value="提交">
  4. <ul class="list"></ul>
  5. </div>

3.css部分

  1. * {
  2. margin: 0;
  3. padding: 0;
  4. }
  5. #mgs {
  6. width: 400px;
  7. color: black;
  8. font-style: italic;
  9. border-width: 5px;
  10. margin: 0 auto;
  11. }
  12. #text {
  13. width: 400px;
  14. height: 150px;
  15. padding: 20px;
  16. font-size: 20px;
  17. }
  18. li {
  19. list-style: none;
  20. border-bottom: 1px solid #999;
  21. line-height: 20px;
  22. margin-top: 30px;
  23. }
  24. span {
  25. float: right;
  26. }

清除默认样式,设置文本框的样式(字体黑色,斜体,在浏览器中居中,字体大小,内边距),去除默认列表的样式,span主要是用来包当前留言时间的。

4.js代码

获取按钮元素,获取ul列表元素,获取文本框元素           

  1. var btn = document.getElementById('btn');
  2.             var list = document.querySelector('.list');
  3.             var text = document.getElementById('text');

绑定按钮点击事件:

当文本框没有输入内容的时候,点击提交浏览器提示“你没有输入内容”,         

  1.   btn.onclick = function () {
  2.                 if (text.value == '') {
  3.                     alert('你没有输入内容。')
  4.                 } else {

 当输入内容后,创建一个li元素节点,在li.li.innerHTML里面输入文本框内容和当前时间和一个删除按钮,将li添加到ul中,并将文本框内已输入的内容清除。

  1. var li = document.createElement('li');
  2. li.innerHTML = text.value + '<span>' + mytime + '\t' + '<button>删除</button></span>'
  3. text.value = '';
  4. list.insertBefore(li, list.children[0]);

 获取当前输入内容的时间

  1. var time = new Date();
  2. var mytime = time.getFullYear() + '-' + (time.getMonth() + 1) + '-' + time.getDate();
  3. li.innerHTML = text.value + '<span>' + mytime + '\t' + '<button>删除</button></span>';

给删除按钮绑定点击删除事件。获取所有的button按钮,点击button按钮时,删除li(删除button按钮的父节点的父节点)

                  

  1.   var allB = document.querySelectorAll('button');
  2.                     for (var i = 0; i < allB.length; i++) {
  3.                         allB[i].onclick = function () {
  4.                             list.removeChild(this.parentNode.parentNode);
  5.                         }

                 

5.全部代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <style>
  10. * {
  11. margin: 0;
  12. padding: 0;
  13. }
  14. #mgs {
  15. width: 400px;
  16. color: black;
  17. font-style: italic;
  18. border-width: 5px;
  19. margin: 0 auto;
  20. }
  21. #text {
  22. width: 400px;
  23. height: 150px;
  24. padding: 20px;
  25. font-size: 20px;
  26. }
  27. li {
  28. list-style: none;
  29. border-bottom: 1px solid #999;
  30. line-height: 20px;
  31. margin-top: 30px;
  32. }
  33. span {
  34. float: right;
  35. }
  36. </style>
  37. <body>
  38. <div id="mgs">
  39. <textarea id="text"></textarea><br>
  40. <input type="button" id="btn" value="提交">
  41. <ul class="list"></ul>
  42. </div>
  43. <script>
  44. var btn = document.getElementById('btn');
  45. var list = document.querySelector('.list');
  46. var text = document.getElementById('text');
  47. btn.onclick = function () {
  48. if (text.value == '') {
  49. alert('你没有输入内容。')
  50. } else {
  51. var li = document.createElement('li');
  52. var time = new Date();
  53. var mytime = time.getFullYear() + '-' + (time.getMonth() + 1) + '-' + time.getDate();
  54. li.innerHTML = text.value + '<span>' + mytime + '\t' + '<button>删除</button></span>';
  55. text.value = '';
  56. list.insertBefore(li, list.children[0]);
  57. var allB = document.querySelectorAll('button');
  58. for (var i = 0; i < allB.length; i++) {
  59. allB[i].onclick = function () {
  60. list.removeChild(this.parentNode.parentNode);
  61. }
  62. }
  63. }
  64. }
  65. </script>
  66. </body>
  67. </html>

6.效果图:

没有输入内容时:

 输入内容,并按提交按钮

 

按下删除按钮

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

闽ICP备14008679号