JS实现简易留言板特效

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

JS实现简易留言板特效

  2021-04-02 我要评论

知识点

1.textarea 大段输入框
2.value获取输入框的值
3.innerHTML所用东西;innerText文本
4.insertBefore在某个标签之前插入

运行效果

代码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
  *{margin: 0;padding: 0;list-style: none;}
  #box{width: 800px;border: 1px solid #ccc;
   margin:100px auto;padding: 20px}
  #my_textarea{width: 80%;height: 120px;font-size: 20px}
  .box-top{margin-bottom: 20px;}
  #ul li{border-bottom: 1px dashed #ccc;color: red;line-height: 44px}
  #ul li a{float: right;}
 </style>
</head>
<body>
<div id="box">
 <div class="box-top">
  <label for="my_textarea">发表评论
   <textarea name="my_textarea" id="my_textarea" cols="30" rows="10"></textarea>
  </label>
  <button id="btn">发表</button>
 </div>
 <ul id="ul"></ul>
</div>
<script>
 window.addEventListener('load',function (ev) {
  $('btn').addEventListener('click',function (ev1) {
   var my_textarea = $('my_textarea');
   // 1. 获取输入框中的内容
   var content = my_textarea.value;

   // 2. 判断
   if (content.length===0){
    alert('请输入评论的内容');
    return;
   }

   // 3. 创建li标签放入ul
   var li = document.createElement('li');
   var ul = $('ul');
   li.innerHTML = content + '<a href="javascript:;" rel="external nofollow" >删除</a>'
   ul.insertBefore(li,ul.children[0]);

   // 4. 清楚输入框内容
   my_textarea.value = '';
   
   // 5. 删除评论
   var remove = ul.getElementsByTagName('a');
   for (var i = 0; i < remove.length; i++) {
    var r = remove[i];
    r.addEventListener('click',function (evt) {
     this.parentNode.remove();
    })
   }
  });



  /**
   * 根据id返回标签元素
   * @param {string}id
   * @returns {any}
   */
  function $(id) {
   return typeof id === 'string' ? document.getElementById(id) : null;
  }
 })
</script>
</body>
</html>
您可能感兴趣的文章:

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们