javascript實(shí)現(xiàn)留言板功能
本文實(shí)例為大家分享了javascript實(shí)現(xiàn)留言板功能的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
.box{ /*設(shè)置最外層盒子*/
width: 600px;
border: 1px solid #aaa;
padding: 20px 10px;
margin: 100px auto;
}
#plTxt{ /*設(shè)置文本域*/
width: 450;
resize: none;/*防止用戶拖拽*/
}
.box ul{ /*將ul列表去除前面的點(diǎn)*/
list-style: none;
}
.box ul li{ /*設(shè)置li中的評(píng)論文字樣式*/
width: 450px;
line-height: 30px;
border-bottom: 1px dotted #aaa;
margin-left: 50px;
}
.box ul li a{ /*將刪除的樣式更改顏色,向右浮動(dòng),沒(méi)有下劃線*/
color: orange;
float: right;
text-decoration: none;
}
.box ul li .time{ /*將li中的時(shí)間改為向右浮動(dòng)和改顏色*/
color: #4f0;
float: right;
}
</style>
<script>
window.onload = function(){
function $(id){
return document.getElementById(id);
}
var ul=document.createElement('ul'); //創(chuàng)建ul標(biāo)簽
$('pl').appendChild(ul); //把ul標(biāo)簽放在div里面
$('btn').onclick = function (){
var txt = $('plTxt').value; //此時(shí)不能用$('plTxt').innerHTML,成對(duì)的標(biāo)簽使用innerHTNL,獲得里面文字;
if(txt.length==0){ //判斷輸入為空的情況;
alert('不能發(fā)表為空的評(píng)論');
}else{
var li=document.createElement('li'); //創(chuàng)建li標(biāo)簽
ul.appendChild(li); // li添加為ul的子標(biāo)簽
txt = txt+ "<a href='javascript:void(0)'>刪除</a>" + "<span class='time'>" + new Date().toLocaleTimeString() + "</span>";
li.innerHTML = txt; //將文本賦給li標(biāo)簽中顯示
var dels =document.getElementsByTagName('a'); //獲取所有標(biāo)簽a的id存到數(shù)組中
for(var j=0; j<dels.length; j++){
dels[j].onclick=function(){ //將所有a標(biāo)簽設(shè)置點(diǎn)擊事件
//刪除當(dāng)前評(píng)論,就是刪除當(dāng)前“刪除”所在超鏈接的li
ul.removeChild(this.parentNode);
}
}
}
}
}
</script>
</head>
<body>
<div class="box" id="pl">
<span>發(fā)表評(píng)論:</span>
<textarea id="plTxt" cols="30" rows="10"></textarea>
<input type="button" value="評(píng)論" id="btn" >
</div>
</body>
</html>

新增加的文字放在后面,將代碼中的
ul.appendChild(li); //(li添加為ul的子標(biāo)簽,每次都放在末尾)換成: ul.insertBefore(li,ul.children[0]); //——這行代碼為插入,將當(dāng)前的li標(biāo)簽,插在ul的第一個(gè)子標(biāo)簽之前,即新的li標(biāo)簽每次都插入在最前面。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一個(gè)簡(jiǎn)單的JavaScript數(shù)據(jù)緩存系統(tǒng)實(shí)現(xiàn)代碼
數(shù)據(jù)緩存系統(tǒng),主要是將一些可復(fù)用的數(shù)據(jù)臨時(shí)存放一下,放下數(shù)據(jù)后面的再次調(diào)用。2010-10-10
JavaScript基于replace+正則實(shí)現(xiàn)ES6的字符串模版功能
這篇文章主要介紹了JavaScript基于replace+正則實(shí)現(xiàn)ES6的字符串模版功能,結(jié)合實(shí)例形式分析了replace結(jié)合正則實(shí)現(xiàn)ES6字符串模板功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
javascript 實(shí)現(xiàn)的完全兼容鼠標(biāo)滾軸縮放圖片的代碼
以前看到的都是用IE的zoom,所以非IE就不支持,昨天看到這個(gè)js中鼠標(biāo)滾輪事件詳解 ,于是完全兼容(IE6-8,FF,Chrome,Opera,Safari)的鼠標(biāo)滾軸縮放圖片效果今天就誕生了2010-02-02
用js寫的一個(gè)路由(簡(jiǎn)單實(shí)例)
下面小編就為大家?guī)?lái)一篇用js寫的一個(gè)路由(簡(jiǎn)單實(shí)例)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
JS函數(shù)arguments數(shù)組獲得實(shí)際傳參數(shù)個(gè)數(shù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇JS函數(shù)arguments數(shù)組獲得實(shí)際傳參數(shù)個(gè)數(shù)的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
詳細(xì)聊聊對(duì)async/await的理解和用法
隨著Nodev7的發(fā)布,越來(lái)越多的人開始研究據(jù)說(shuō)是異步編程終級(jí)解決方案的 async/await,這篇文章主要給大家介紹了關(guān)于對(duì)async/await的理解和用法,文中通過(guò)實(shí)例代碼介紹的介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07

