之前做的一个简易的留言板,也发上来。直接看代码就行。

没有用特别复杂的,直接用的DOM2的事件代理。数据也是直接在js这边渲染生成,我的代码里面的注释都算是比较详细的,直接看就可以的。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>留言板</title>
</head>
<style>article {border: 3px solid rgb(195, 2, 2);width: 800px;margin: 0 auto;padding-bottom: 50px;}p {display: flex;justify-content: space-between;border-bottom: 2px dotted rgb(79, 205, 233);margin: 0;}p:nth-child(1) {border-top: 2px dotted rgb(79, 205, 233);}p:nth-child(2) {padding-bottom: 40px;border-bottom: 0;}input[type="button"] {margin-left: 10px;}
</style><body><article><section></section><!-- 增加一个多行输入文本框 --><textarea name="" id="" cols="30" rows="10"></textarea><input type="button" value="留言"></article><script src="./liu.js"></script>
</body></html>
//获取节点
let artEle = document.querySelector("article");
let secEle = document.getElementsByTagName("section")[0];//创建数组
let arr = [{ name: "小张", time: "2020-01-01", content: "今天星期五,明天星期六!" },{ name: "小磊", time: "2020-02-01", content: "中秋节快乐!" },{ name: "小海", time: "2020-03-01", content: "明天不上课!爽翻!!!" },{ name: "小丽", time: "2020-04-01", content: "今晚做个好梦哦~" },
]//将数据渲染到页面上
function render() {let str = "";arr.forEach((item, index) => {str += `<div><p><span>${item.name}</span><span>${item.time}</span></p><p><span>${item.content}</span><span data-index="${index}">删除</span></p></div>`;});secEle.innerHTML = str;
}//给祖先元素article绑定一个事件监听器(事件代理)
artEle.addEventListener("click", function (e) {let index = e.target.dataset.index - 0;if (e.target.value == "留言") {let textAreaEle = document.getElementsByTagName("textarea")[0];//获取本地时间let date = new Date();let localTime = date.toLocaleString();//年月日、时分秒同时获取//将原本的/ 换成-//replace该方法主要用于将字符串中符合匹配条件的字串替换成其他的字符串,//返回替换后的字符串,且原字符串不变。let gang = localTime.replace(/\//g, "-");//将用户输入的内容容作为对象存进数组arr.push({ name: "小明", time: gang, content: textAreaEle.value })//清空输入框,方便下次输入textAreaEle.value = "";//再次渲染render();}if (e.target.innerHTML == "删除") {arr.splice(index, 1);render();}
})
render();

简易留言板HTML+JS代码相关推荐

  1. html简单留言板教程,JS实现简易留言板(节点操作)

    本文实例为大家分享了JS实现简易留言板的具体代码,供大家参考,具体内容如下 今天的案例主要是对节点进行操作 创建节点.添加节点.删除节点以及为节点添加内容的操作. 就是一个简单的留言板功能,可以发布留 ...

  2. android中留言板功能,js 实现简易留言板功能

    无标题文档 li{list-style:none;} li{position:relative;width:500px;} a{position:absolute;right:10px;} var c ...

  3. js+css+html制作简易留言板

    js+css+html制作简易留言板 1 案例说明 2 编写HTML代码 3 编写css代码 4 编写JavaScript代码 5 全部代码 1 案例说明 利用JavaScript.css以及html ...

  4. JavaWeb简易留言板 servlet+ajax+mysql

    使用servlet+ajax将数据存入数据库实现简易留言板 先上图~~ 加载界面同时加载历史留言 发表留言 字数超出限制禁用按钮 发表留言成功~ 下面贴代码 message_board.html &l ...

  5. java 留言板源码_jsp+servlet+javabean实现简易留言板(包含数据库文件)

    [实例简介] jsp+servlet+javabean实现简易留言板(包含数据库文件) 简单体验MVC设计模式 jsp:视图,与用户打交道:servlet:控制器,请求分配转发,联系视图层与模型层:j ...

  6. javascript简易留言板制作 -- 案例

    js简易留言板制作 @Draven 效果预览 html部分 css部分 js部分 效果预览 html部分 <textarea name="text" cols="3 ...

  7. vue生命周期,组件,slot替换,tab切换,简易留言板

    data规范: data:(){ return{ arr:[{ a: "wan1", b: "在线", c: 5000},{ a: "wan2&quo ...

  8. [练习]简易留言板制作

    [练习]简易留言板制作

  9. php简易留言板功能,php实现简易留言板效果

    首先是Index页面效果图 index.php date_default_timezone_set('PRC');$filename="msg.txt";$msgs=[];//检测 ...

  10. JS实现简易留言板功能

    一.分析 1.留言板功能 ①发布评论 ②删除评论 2.发布功能 ①发布评论前判断评论框(用textarea输入评论)是否为空 ②点击发布按钮,发布评论(用li展示评论,开始评论为空,html部分< ...

最新文章

  1. 我的软考之路(九)——总结篇
  2. mysql的jdbc版本_【jdbc】Mysql 8版本jdbc设置
  3. DAL,IDAL,BLL,Factory作用
  4. 洛谷 - P3975 [TJOI2015]弦论(后缀自动机)
  5. Sales area data model research in QDD
  6. c调用java jar_C#调用java类、jar包方法。
  7. mysql+一致性非锁定读_MySQL探秘(六):InnoDB一致性非锁定读
  8. C++——OOP(Object-Oriented Programming) vs. GP(Generic Programming)
  9. MySQL(22)--- NULL 值处理
  10. mysql分日汇总填充0_将记录按小时或按日分组,并在mysql中填充零或空的空白
  11. dynamips虚拟服务:找不到指定设备
  12. oracle PL/SQL 这些查询结果不可更新,请包括ROWID或使用SELECT ...FOR UPDATE 获得可
  13. redhat linux u盘安装教程,U盘安装Linux系统【RHEL 6.3 Server】
  14. raft协议--面试问答题
  15. spring context:property-placeholder无法加载配置文件,导致属性无效
  16. ap模式和sta模式共存_让无线网卡同时工作在 AP 和 STA 模式
  17. jmeter问题排查:关于察看结果树里缺少请求
  18. Grafana 介绍
  19. PS 画哆啦A梦
  20. 基于JavaWeb的企业会议管理系统

热门文章

  1. oracle下拉菜单多选,多选下拉控件的使用(select-option)multiple-select
  2. 原生JavaScript添加format方法 ----占位符
  3. IPhone在横屏字体变大解决办法-webkit-text-size-adjust
  4. 现代语音信号处理之语音信号处理基础
  5. cvSlite 和cvMerge 实现图像的通道分离和混合的说明
  6. OpenCV cv.INTER_AREA和cv.INTER_CUBIC 还有cv.INTER_LINEAR
  7. Linux驱动之定时器(mod_timer)
  8. 利用 openresty balancer_by_lua 实现一个简单的 ip_hash upstream 调度
  9. python查看数据_使用Python获取GA数据
  10. Entry输入框实现登录用户名冷却验证小案例(Tkinter)