JS实现简单留言板功能

本文实例为大家分享了JS实现简单留言板的具体代码,供大家参考,具体内容如下

言归正传,之前的案例相信大家都已经完全弄清楚了,还记得我们之前统计字数的那个案例吗?忘记的可以再去翻阅一下,今天就是在这个方法的基础上,把它变成一个留言版,就像我们之前的评论一样,是不是很期待呢?先来看一下效果图

输入昵称,选择头像,输入留言,点击广播就能够在下面显示出来了,是不是很nice呢,具体怎么实现的呢,我们来看代码

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>留言板</title>     <style>         *{             margin: 0 auto;         }         #box{             width: 50%;             border: 4px solid olivedrab;             padding: 10px 30px;             height: 800px;         }         #box img{             width: 30px;             height: 30px;             margin: 10px 0;         }         #tex{             width: 100%;             margin: 10px 0;         }         .count{             float: right;             color: silver;         }         #btn{             width: 50px;             height: 25px;             background: orange;             color: white;             border-radius: 5px;             outline: none;             border: 0px;             line-height: 25px;         }         #content{             margin: 50px 0;         }         .list{             padding: 5px;             height: 80px;             border-bottom: 1px solid black;             position: relative;         }         .list button{             display: none;             position: absolute;             right: 0;             top: 40px;             background: orange;             color: white;             border-radius: 5px;             outline: none;             border: 0px;         }     </style> </head> <body>     <div id="box">         昵称:<input type="text" id="userName"><br/>         请选择头像<span>             <img src = "imgs/01.webp" align="absmiddle"/>             <img src = "imgs/02.webp" align="absmiddle"/>             <img src = "imgs/03.webp" align="absmiddle"/>             <img src = "imgs/04.webp" align="absmiddle"/>         </span>         <textarea name="" id="tex" cols="30" rows="10" maxlength="150" placeholder="请输入留言"></textarea>         <div class="count">还可以输入             <span id="left">150</span>个字             <button id="btn">广播</button>         </div>         <div id="content">             <!-- <div id="list">              <span>昵称</span>              <span>内容</span>              <div>时间</div>              <button>删除</button>         </div> -->         </div>     </div>     <script>         //页面加载渲染         window.onload = function(){             if(localStorage.arr1113){                 arr = JSON.parse(localStorage.arr1113)                 show(arr)             }else{                 arr = []             }         }         //获取Dom元素         var userName = document.querySelector("#userName")         var btn = document.getElementById("btn")         var left = document.getElementById("left")         var txt = document.getElementById("tex")         //计算剩余字符         txt.oninput = function(){             var len = txt.maxLength-txt.value.length             left.innerHTML = len         }         //选择图片         var pic = document.querySelectorAll("#box img")         var src = ''         for(var i = 0;i<pic.length;i++){             pic[i].onclick = function(){                 for(var j = 0;j<pic.length;j++){                     pic[j].style.border =""                 }                 this.style.border = "1px solid red"                 src = this.src             }         }         //点击广播         var arr = []         btn.onclick = function(){             if(userName.value==''||txt.value ==''){                 alert("请输入昵称和留言")             }else{             var obj = {                 id:+new Date(),                 name:userName.value,                 content:txt.value,                 time:timer(),                 src:src             }             arr.unshift(obj)             userName.value = ''             txt.value = ''             localStorage.arr1113 = JSON.stringify(arr)             show(arr)         }         }         //渲染函数         function show(arr){             var str = ''             var contents = document.getElementById("content")             contents.innerHTML = ''             for(var i = 0;i<arr.length;i++){                 str +=`                 <div class = "list">                 <img src = "${arr[i].src}" align="absmiddle">                 <span>${arr[i].name} </span>                 <span>${arr[i].content}</span>                 <br/>                 <span>${arr[i].time}</span>                 <button οnclick="del(${arr[i].id})">删除</button>                 </div>                 `             }             contents.innerHTML = str         }         //删除函数         function del(id){             arr.forEach(function(ele,index){                 if(id ==arr[index].id){                      arr.splice(index,1)                      show(arr)                      localStorage.arr1113 = JSON.stringify(arr)                 }             })         }         //获取时间         function timer(){             var now = new Date()             var month = now.getMonth()+1             var day = now.getDate()             var hours = now.getHours()             var min = now.getMinutes()             var result = check(month)+"月"+check(day)+"日  "+check(hours)+":"+check(min)             return result         }         //检查时间少于10前面添上0         function check(n){             n = n<10 ? "0"+n : n             return n         }         //移入移出效果函数----利用事件委托处理         var contents = document.getElementById("content")             contents.onmouseover = function(event){                 var enent = event || window.event                 var target = event.target || window.srcElement                 if(target.nodeName.toLowerCase() == "div"){                     target.style.background = "gray"                     var delBtn = target.lastElementChild                     delBtn.style.display = "block"                 }             }             contents.onmouseout = function(event){                 var enent = event || window.event                 var target = event.target || window.srcElement                 if(target.nodeName.toLowerCase() == "div"){                     target.style.background = ""                     var delBtn = target.lastElementChild                     delBtn.style.display = ""                 }             }     </script> </body> </html>

主要是Js的代码,css样式可以按照自己的想法去操作,打造属于自己的style

推荐阅读

    js设置div的边框|怎样给div设置边框

    js设置div的边框|怎样给div设置边框,,1. 怎样给div设置边框1、首先新建一个html文件,输入基本的内容,这里设置一个div,并把它的class设置为de

    js设置样式|js设置样式类

    js设置样式|js设置样式类,,js设置样式    javascript改变CSS样式分为局部和全局,分别如下:  一、局部改变样式    有三种方法:直接

    js用代码实现简单购物车

    js用代码实现简单购物车,,图: 选择所有按钮: 复制代码代码如下所示: 选择 笔记本电脑:3000元 笔记本电脑:3000元 笔记本电脑:3000元 笔记本电脑:3

    js设置背景色|js设置颜色

    js设置背景色|js设置颜色,,js设置背景色首先通过js定位到div的子元素,再通过setatteibute方法给属性添加背景色。js设置颜色js改变字体的颜

    Safari调试iOS中的js

    Safari调试iOS中的js,页面,设备,概述对于HTML5的开发,大家都知道Chrome的DevTools工具有强大的功能和友好的用户体验,不仅能快速方便调试Jav

    Bootstrap的js插件之模态框|modal

    Bootstrap的js插件之模态框|modal,模态,饭盒,.modal——指明div元素包裹模态框;.fade——给模态框添加淡入淡出效果;.modal-dialog——包裹

    js默认事件汇总

    js默认事件汇总,事件,表单,默认事件   就是浏览器通过HTML标签或DOM元素提供的一些功能性的默认行为。比如在a标签href属性上的跳转,右键

    js获取元素宽度

    js获取元素宽度,内联,样式,js获取元素宽度1、使用内联样式,即直接把CSS写在HTML元素的style属性中<div > </div>复制代码通过以下js代码

    SQLite使用JSON扩展

    SQLite使用JSON扩展,插件,加载,一、介绍 SQLite3.9.0之后的版本,添加了JSON扩展。在表中可以保存JSON类型。实际上SQLite将JSON类型的

    jscript.dll是什么

    jscript.dll是什么,系统,文件,论坛,显示,扫描,修复,  jscript.dll是Microsoft JavaScript脚本支持相关文件。属于: Microsoft JScript系统 DLL

    postgresql中对jsonb的查询及转换

    postgresql中对jsonb的查询及转换,数据,字段,表数据:需要将strata排除,并且过滤info字段中为{}的数据,将jsonb转换成text,替换“,{,}见SQL:sele