J'ai récemment implémenté la fonction de forum de messages basée sur js. Les fonctions implémentées incluent la vérification non nulle de l'éditeur et du contenu publié, l'affichage de l'effet de sol et l'affichage de l'heure de publication. Pour des exemples de codes spécifiques, veuillez vous référer à cet article
Mise en œuvre de la fonction :
1. Vérification non vide de l'éditeur et du contenu publié
2. fonction
3. Affichage de l'effet de sol
4. Affichage du temps de relâchement
Diagramme de rendu
Table des matières
tools.js
Boîte à outils du temps
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; }
Message Board.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> <p 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/> </p> <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("p"); 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>
Ce qui précède est que je l'ai compilé pour tout le monde, j'espère qu'il sera utile à tout le monde à l'avenir.
Articles associés :
Explication détaillée de la configuration de base dans Vue+webpack
Comment créer plusieurs personnes dans l'environnement nodejs+express Chat room
Comment réaliser la séparation front-end et back-end dans nginx+vue.js
Comment utiliser vue2.0 pour réaliser composant de fonction de notation par étoiles frontale
Comment juger NaN en JavaScript
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!