JS实现留言板功能[楼层效果展示]


Posted in Javascript onDecember 27, 2017

功能实现:

1.发布人和发布内容非空校验
2.编辑删除功能
3.楼层效果展示
4.发布时间展示

效果图

JS实现留言板功能[楼层效果展示] 

目录

JS实现留言板功能[楼层效果展示] 

tools.js

时间工具包

function getTime(){
  var weeks = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
  var date = new Date();
  var year = date.getFullYear();
  var month = date.getMonth()+1;
  var da = date.getDate();
  var hour = date.getHours()<10 ? "0"+date.getHours() : date.getHours() ;
  var minute = date.getMinutes()<10 ? "0"+date.getMinutes() : date.getMinutes() ;
  var second = date.getSeconds()<10 ? "0"+date.getSeconds() : date.getSeconds() ;
  var week = date.getDay();
  var time = year+"年"+month+"月"+da+"日 "+hour+":"+minute+":"+second +" "+weeks[week];
  return time;
}

留言板.html

<!DOCTYPE html>
<html>
  <head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="tools.js"></script>
    <style>
      #box {
        width: 800px;
        margin: 0 auto;
      }
      textarea {
        width: 800px;
      }
      #li {
        display: block;
        border-bottom: 1px dashed #ebebeb;
        margin: 10px 0;
        padding: 8px 0;
      }
    </style>
  </head>
  <body>
    <div id="box">
      <h3>留言板 </h3>
      发布人:<input type="text" id="person" value="">
      共<input style="border: 0;" name="" id="louceng">
      <textarea name="" id="text" rows="10"></textarea>
      <input type="button" value="确认发布" id="btn" />
      <h3>全部留言</h3>
      <hr/>
    </div>
    <script>
      var num = 0;
      var num1 = 0;
      var box = document.getElementById("box");
      var text = document.getElementById("text");
      var btn = document.getElementById("btn");
      var person = document.getElementById("person");
      var ul = document.createElement("ul");
      ul.id = "ul1";
      var time = document.createElement("div");
      document.getElementById("louceng").value=num+"楼";
      btn.onclick = function() {
        //非空判断
        if(person.value==""||person.value==null){
          alert("发布人不允许为空!");
          return false;
        }
        if(text.value==""||text.value==null){
          alert("内容不允许为空!");
          return false;
        }
        //获取时间
        num = num+1;
        var datetime = getTime();
        time = document.createTextNode("发布时间:" + datetime);
        var li = document.createElement("li");
        li.id = "li";
        //创建删除功能
        var oA = document.createElement("a");
        var oAtext = document.createTextNode("删除");
        oA.href = "#";
        oA.appendChild(oAtext);
        //创建发布文本框
        var fabu = document.createElement("textarea");
        fabu.rows = "10";
        fabu.style = "margin: 0px; width: 760px; height: 138px;";
        fabu.value = text.value;
        fabu.disabled="disabled";
        //创建编辑功能
        var oB = document.createElement("a");
        var oBtext = document.createTextNode("编辑");
        oB.href = "#";
        oB.appendChild(oBtext);
        //创建确认按钮
        var butt = document.createElement("input");
        butt.type = "button";
        butt.value = "确认";
        butt.style.display = "none";
        //解决兼容问题
        var ali = ul.getElementsByTagName("li");
        if(ali.length == 0) {
          ul.appendChild(li);
        } else {
          ul.insertBefore(li, ali[0]);
        }
        //添加节点
        box.appendChild(ul);
        var lou = document.createTextNode("第"+num+"楼");
        var persons = document.createTextNode("发布人:"+ person.value);
        document.getElementById("person").value="";
        var textnode = document.createTextNode("发布内容:");
        document.getElementById("text").value="";
        li.appendChild(lou);
        li.appendChild(document.createElement("br"));
        li.appendChild(persons);
        li.appendChild(document.createElement("br"));
        li.appendChild(textnode);
        li.appendChild(document.createElement("br"));
        li.appendChild(fabu);
        li.appendChild(time);
        li.appendChild(oA);
        li.appendChild(oB);
        li.appendChild(butt);
        //删除
        oA.onclick = function() {
          ul.removeChild(this.parentNode);
          //删除时更新
          num1++;//删除次数
          document.getElementById("louceng").value=num-num1+"楼";
        };
        //编辑
        oB.onclick = function() {
          fabu.disabled = "";
          butt.style.display = "block";
        }
        //确认更改
        butt.onclick = function() {
          fabu.disabled="disabled";
          butt.style.display = "none";
        }
        //楼层展示
        document.getElementById("louceng").value=num-num1+"楼";
      }
    </script>
  </body>
</html>

总结

以上所述是小编给大家介绍的JS实现留言板功能[楼层效果展示],希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 前的按键判断代码
Mar 19 Javascript
利用js实现选项卡的特别效果的实例
Mar 03 Javascript
javascript中的绑定与解绑函数应用示例
Jun 24 Javascript
原生js配合cookie制作保存路径的拖拽
Dec 29 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
Oct 09 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
Dec 03 Javascript
关于Stream和Buffer的相互转换详解
Jul 26 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
js new Date()实例测试
Oct 31 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 Javascript
js判断节假日实例代码
Dec 27 #Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
Dec 27 #Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 #Javascript
Angular实现点击按钮后在上方显示输入内容的方法
Dec 27 #Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 #Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 #Javascript
简单的Vue异步组件实例Demo
Dec 27 #Javascript
You might like
php汉字转拼音的示例
2014/02/27 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
基于PHP实现短信验证码接口(容联运通讯)
2016/09/06 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
什么是python的必选参数
2020/06/21 Python
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
实习自我评价怎么写
2013/12/02 职场文书
《学会合作》教学反思
2014/04/12 职场文书
《画》教学反思
2014/04/14 职场文书
社区综治工作汇报
2014/10/27 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
人生感悟经典句子
2019/08/20 职场文书
对Keras自带Loss Function的深入研究
2021/05/25 Python