<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了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.jpg" align="absmiddle"/> <img src = "imgs/02.jpg" align="absmiddle"/> <img src = "imgs/03.jpg" align="absmiddle"/> <img src = "imgs/04.jpg" 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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45