以下是 简单js新浪微博发布评论代码 的示例演示效果:
部分效果截图:
HTML代码(index.html):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> contentEditable=true</title>
<script src="js/xml.js"></script>
<link href="css/reset.css" rel="stylesheet">
<style>
.main{
width: 800px;
margin:20px auto;
}
span{
display: inline-block;
width: 200px;
height: 25px;
line-height: 25px;
vertical-align: center;
text-align: left;
margin-bottom: 10px;
}
.tag{
font-size: 13px;
margin-left: 370px;
vertical-align: bottom;
text-align: center;
margin-bottom: 0;
}
.text{
width: 750px;
height: 180px;
margin:0 auto;
resize:none;
}
input{
display: inline-block;
width: 80px;
height: 50px;
background: #E2526F;
border: 0;
margin-left: 670px;
margin-top: 10px;
}
.creatediv{
width: 675px;
height: 80px;
border: 1px solid gray;
position: relative;
margin-top: 10px;
padding-left: 75px;
}
.createinput{
width: 80px;
height: 30px;
position:absolute;
right: 5px;
bottom:5px;
}
.createimg{
width: 50px;
height: 50px;
position: absolute;
top: 15px;
left: 15px;
}
.createdivs{
width:600px;
height:50px;
position: absolute;
top: 15px;
left: 85px;
}
</style>
</head>
<body id="body">
<div class="main">
<span>你想对楼主说点什么</span>
<span class="tag">你最多可以输入30个字符</span>
<textarea id="text" cols="30" rows="10" maxlength="30" class="text"></textarea><br>
<input type="button" value="发 表" id="ipt">
<div id="txt" >
</div>
</div>
<script>
var ipt = document.getElementById("ipt");
var txt = document.getElementById('txt');
var textarea = document.getElementById("text");
ipt.onclick = function(){
var textValue = textarea.value.LTrim();
textarea.value="";
if(textValue.length>0 ){
var divs = document.createElement("div");
var imgs = document.createElement("img");
var ps = document.createElement("p");
var inputs = document.createElement("input");
divs.setAttribute("class","creatediv");
imgs.setAttribute('class',"createimg");
ps.setAttribute("class","createdivs");
inputs.setAttribute("class","createinput");
imgs.src="pic/1.jpg";
inputs.type="button";
inputs.value="删除";
ps.innerHTML=textValue;
divs.appendChild(imgs);
divs.appendChild(ps);
divs.appendChild(inputs);
if(txt.children.length==0){
txt.appendChild(divs);
}else{
txt.insertBefore(divs,get_firstChild(txt))
}
inputs.onclick = function(){
this.parentNode.parentNode.removeChild(this.parentNode)
}
}
}
</script>
</body>
</html>
JS代码(xml.js):
function get_previousSibling(n){
y=n.previousSibling;
while (y.nodeType!=1){
y=y.previousSibling;
}
return y;
}
function get_nextSibling(n){
y=n.nextSibling;
while (y.nodeType!=1){
y=y.nextSibling;
}
return y;
}
function get_lastChild(n){
y=n.lastChild;
while (y.nodeType!=1){
y=y.previousSibling;
}
return y;
}
function get_firstChild(n){
y=n.firstChild;
while (y.nodeType!=1){
y=y.nextSibling;
}
return y;
}
// Trim(),Ltrim(),RTrim()String.prototype.Trim = function(){
return this.replace(/(^\s*)|(\s*$)/g,"");
}
String.prototype.LTrim = function(){
return this.replace(/(^\s*)/g,"");
}
String.prototype.RTrim = function(){
return this.replace(/(\s*$)/g,"");
}