博客列表 >七情论坛留言板!

七情论坛留言板!

想做肥仔
想做肥仔原创
2022年04月22日 01:01:24861浏览

HTML代码展示

  1. <!-- 留言板-头部 -->
  2. <div class="message_top">
  3. <div class="txt">
  4. <h3>七情论坛</h3>
  5. </div>
  6. </div>
  7. <!-- 留言板-内容区 -->
  8. <div class="message_nav">
  9. <p style="text-align: center">留言板块</p>
  10. <svg class="icon" aria-hidden="true">
  11. <use xlink:href="#icon-liuyanmoban"></use>
  12. </svg>
  13. <div class="nav_box">
  14. <div class="nav_box_in">
  15. <!-- onkeydown 当输入内容时,就能知道输入的内容 -->
  16. <input
  17. type="text"
  18. placeholder="请输入您的内容"
  19. onkeydown="addMsg(this)"
  20. autofocus
  21. />
  22. <ol class="list"></ol>
  23. </div>
  24. </div>
  25. </div>
  26. <!-- 留言板-分页组 -->
  27. <div class="message_next_page"></div>

CSS 代码

  1. <style>
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. }
  6. /* 头部 */
  7. .message_top {
  8. width: 100vw;
  9. height: 60px;
  10. background-color: aquamarine;
  11. }
  12. .message_top .txt {
  13. width: 200px;
  14. height: 60px;
  15. margin: auto;
  16. }
  17. .message_top .txt h3 {
  18. font-size: larger;
  19. color: blue;
  20. text-align: center;
  21. line-height: 58px;
  22. }
  23. /* 内容区 */
  24. .message_nav {
  25. width: 100vw;
  26. height: 40rem;
  27. background-color: azure;
  28. display: grid;
  29. place-content: center;
  30. }
  31. .message_nav .icon {
  32. width: 1em;
  33. height: 1em;
  34. vertical-align: -0.15em;
  35. fill: currentColor;
  36. overflow: hidden;
  37. font-size: 36px;
  38. margin: auto;
  39. }
  40. .message_nav .nav_box {
  41. width: 1200px;
  42. height: 470px;
  43. border: 3px solid;
  44. border-radius: 25px;
  45. }
  46. .message_nav .nav_box .nav_box_in {
  47. width: 300px;
  48. height: 100px;
  49. margin: auto;
  50. }
  51. /* 留言内容 */
  52. .message_nav .nav_box .nav_box_in .list li {
  53. padding: 5px 0;
  54. }
  55. /* 删除按钮 */
  56. .message_nav .nav_box .nav_box_in .list button {
  57. padding: 0 8px;
  58. margin-left: 10px;
  59. background-color: brown;
  60. border-radius: 100%;
  61. color: aliceblue;
  62. }
  63. .message_nav .nav_box input {
  64. width: 200px;
  65. height: 50px;
  66. border-radius: 25px;
  67. border: 2px solid orange;
  68. padding-left: 15px;
  69. text-align: center;
  70. outline: none;
  71. display: block;
  72. margin-left: auto;
  73. margin-right: auto;
  74. margin-top: 25px;
  75. }
  76. /* focus 输入框 输入时触发事件 */
  77. .message_nav .nav_box input:focus {
  78. border-style: solid;
  79. border-color: #03a9f4;
  80. box-shadow: 0 0 15px #03a9f4;
  81. }
  82. /* 分页区 */
  83. .message_next_page {
  84. width: 100vw;
  85. height: 180px;
  86. background-color: blanchedalmond;
  87. }
  88. </style>

JS代码部分

  1. <script>
  2. function addMsg(contents) {
  3. // 事件对象 event 键盘事件 其中的 key 属性会接收输入的内容
  4. // 当输入回车键时 就会得到Enter 这里是判断接收回车键
  5. if (event.key === 'Enter') {
  6. // 1获取表单显示内容的容器
  7. const ol = document.querySelector('.list');
  8. // 2判断表单内容是否为空 trim()方法 清除空格 就算用户输入空格也不行!
  9. if (contents.value.trim().length === 0) {
  10. alert('留言不呢为空!');
  11. // 焦点重置,把鼠标放到输入框当中 focus()
  12. contents.focus();
  13. return false;
  14. }
  15. // 3添加一条新留言
  16. const li = document.createElement('li');
  17. // 给li 添加内容 内容就是输入框里 用户输入的文本
  18. li.textContent = contents.value;
  19. // 给添加的内容添加删除功能 parentNode父节点
  20. li.innerHTML =
  21. contents.value +
  22. '<button onclick="del(this.parentNode)">删除</button>';
  23. // 直接在ul标签的终止点之后插入内容 insertAdjacentElement
  24. ol.insertAdjacentElement('afterBegin', li);
  25. // 4将输入框的上一条留言更新到内容区
  26. contents.value = null;
  27. // 5焦点充值
  28. contents.focus();
  29. }
  30. }
  31. function del(contents) {
  32. // 弹窗删除功能 confirm() 三元表达式
  33. return confirm('是否删除') ? contents.remove() : false;
  34. }
  35. </script>

效果示例

图片展示

动态效果图示例

动态

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议