欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用原生JavaScript代码编写类似微博发布的。

程序员文章站 2024-03-05 20:51:19
...

今天简单的用JS代码来创建一个类似微博发布的小项目。

先把整个代码拷过来:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
        * {
        	margin: 0;
        	padding: 0;
        }

        .box {
        	 margin: 100px auto;
        	 width: 600px;
        	 border: 1px solid #333; 
             padding: 30px 0;
             overflow: hidden;
        }

        textarea {
        	  width: 450px;
              line-height: 30px;
              margin-left: 10px;
              resize: none;
        }

        ul {
        	list-style: none;
        	width: 80%;
        	margin: 0 auto;
        }

        ul > li {
        	  padding: 6px 20px;
        	  line-height: 20px;

        	  border-bottom: 1px dashed #ccc;
        }

        ul > li > a {
        	float: right;
        }
	</style>
</head>
<body>
	<div class="box">
                微博发布:
	    <textarea cols="30" rows="10"></textarea>
	    <button id="btn">发布</button>
	    <!-- <ul>
	    	 <li>hhhhh</li>
	    </ul> -->
	</div>
	<script type="text/javascript">
           window.onload = function() {
           	    // 1 获取对象
                var btn = document.getElementById("btn");
                var tt = document.getElementsByTagName("textarea")[0];
                 //  创建父亲
                var ul = document.createElement("ul");
                // 给发布按钮注册单击事件
                btn.onclick = function() {
                      if(tt.value == "") {
                      	   alert("输入的内容不能为空");
                      	   return;// 提前函数调用结束
                      }
                     // alert(tt.value); 获取文本域的值
                     var  tt_value = tt.value; 
                     tt.value = "";
                     // 创建儿子
                     var liEle = document.createElement("li");
                     liEle.innerHTML = tt_value+"<a href='#'>删除</a>";
                     //
                     if(ul.children.length ==0) {
                       
                     	 ul.appendChild(liEle);
                         
                     } else {
                     	 ul.insertBefore(liEle, ul.children[0]);
                     }
                     
                     // 整个ul追加到div内部去
                     this.parentNode.appendChild(ul);

                     var as = document.getElementsByTagName("a");
                     for(var i=0; i<as.length; i++) {
                     	  as[i].onclick = function() {
                     	  	  ul.removeChild(this.parentNode);
                     	  	  return false;
                     	  }
                     }

                }
           }


           
	</script>
</body>
</html>


创建一个这样的需要发布内容,用到HTML5的

<textarea cols="30"rows="10"></textarea>
标签,行和列可以自己定义。 这些代码用到大多是dom的操作,比如
document.createElement();

appendChild();

insertBefore();

removeChild();

如果对dom操作熟悉的话并不难,赶紧去练练手吧。

用原生JavaScript代码编写类似微博发布的。