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 相关文章推荐
Prototype使用指南之ajax
Jan 10 Javascript
JavaScript QueryString解析类代码
Jan 17 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
May 26 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Jan 21 Javascript
jquery 提交值不为空的元素示例代码
May 10 Javascript
jquery等宽输出文字插件使用介绍
Sep 18 Javascript
JS获取DropDownList的value值与text值的示例代码
Jan 07 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
Jan 08 Javascript
微信小程序实现下拉刷新和轮播图效果
Nov 21 Javascript
使用JS获取SessionStorage的值
Jan 12 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 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/05/10 PHP
php中文验证码实现方法
2015/06/18 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
javascript 常用方法总结
2009/06/03 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
vue自定义指令directive的使用方法
2019/04/07 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
pyenv命令管理多个Python版本
2017/03/26 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
python从子线程中获得返回值的方法
2019/01/30 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
Python实现点云投影到平面显示
2020/01/18 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
廉洁校园实施方案
2014/05/25 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
天河观后感
2015/06/11 职场文书
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis