zoukankan      html  css  js  c++  java
  • JS实现微博发布消息

    效果:发布时高度慢慢增大,透明度也同时变为100

    思路:

    1、创建li

    2、li的值是从文本框获取的 li.innerHtml=txt.value;

    3、清空文本框 txt.value='';

    4、if判断如果没有内容的时候就appendChild插入,如果有内容就倒序插入。

    5、用offsetHeight获取li高度,先把li高度设置为0,再通过运动框架设置li高度和透明度

    JS代码:

    View Code
     1 <script>
     2 window.onload=function()
     3 {
     4     var oUl=document.getElementById('ul');
     5     var aBtn=document.getElementById('btn');
     6     var oTxt=document.getElementById('txt');
     7     
     8     aBtn.onclick=function()
     9     {
    10         var oLi=document.createElement('li');
    11         oLi.innerHTML=oTxt.value;
    12         oTxt.value='';
    13         
    14         if(oUl.children.length>0)  //如果Li有内容
    15         {
    16             oUl.insertBefore(oLi,oUl.children[0]);  //就在第一条内容前插入
    17         }
    18         else
    19         {
    20             oUl.appendChild(oLi);  //如果没内容就在当前插入
    21         }
    22         
    23         oLiHeight=oLi.offsetHeight;
    24         oLi.style.height='0';
    25         startMove(oLi,{height: oLiHeight,opacity: 100});
    26     };
    27 };
    28 </script>

    完整代码:

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>仿微博发布内容</title>
     6 <style>
     7 *{margin:0;padding:0;}
     8 ul{margin:0 auto;width:400px;height:400px;border:solid 1px #000;overflow:hidden;}
     9 ul li{padding:4px;border-bottom:dotted 1px #ccc;list-style:none;filter:aplha(opacity:0);opacity:0;}
    10 </style>
    11 <script src="baseCommon.js"></script>
    12 <script>
    13 window.onload=function()
    14 {
    15     var oUl=document.getElementById('ul');
    16     var aBtn=document.getElementById('btn');
    17     var oTxt=document.getElementById('txt');
    18     
    19     aBtn.onclick=function()
    20     {
    21         var oLi=document.createElement('li');
    22         oLi.innerHTML=oTxt.value;
    23         oTxt.value='';
    24         
    25         if(oUl.children.length>0)  //如果Li有内容
    26         {
    27             oUl.insertBefore(oLi,oUl.children[0]);  //就在第一条内容前插入
    28         }
    29         else
    30         {
    31             oUl.appendChild(oLi);  //如果没内容就在当前插入
    32         }
    33         
    34         oLiHeight=oLi.offsetHeight;
    35         oLi.style.height='0';
    36         startMove(oLi,{height: oLiHeight,opacity: 100});
    37     };
    38 };
    39 </script>
    40 </head>
    41 
    42 <body>
    43 <textarea cols="40" rows="4" id="txt"></textarea>
    44 <input type="button" value="发布" id="btn" />
    45 <ul id="ul">
    46 </ul>
    47 </body>
    48 </html>
  • 相关阅读:
    HBase- 安装单机版HBase
    javascript中的设计模式之模板方法模式
    win 设置自动启动软件
    php高精度加减乘除
    frp实现内网穿透,实现夸服务器访问
    OCM 12c 直考预备知识点
    Oracle 19c New Features : Active Data Guard DML Redirect
    3级搭建类302-Oracle 19c RAC 双节点搭建
    VMWare WorkStation 15.5 配置RAC共享存储节点二无法识别共享磁盘UUID解决办法
    你还在争论 count(*) 与 count(column) 哪个更快?
  • 原文地址:https://www.cnblogs.com/52css/p/2976081.html
Copyright © 2011-2022 走看看