javascript中DOM写的类似微博发布的效果

 代码如下 复制代码
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>微博发布</title>
<meta name="Keywords" content="">
<meta name="Description" content="">
<style type="text/css">
h1{margin:20px auto;font-size:30px;width:200px;text-align:center;color:blue;}
#test1{display:block;width:400px;height:70px;margin:20px auto 10px;}
#test2{display:block;margin-left:800px;width:60px;height:30px;font-size:20px;}
#test3{margin:10px auto;border:1px #444 solid;width:400px;min-height:300px;padding-bottom:10px;overflow:hidden;color:blue;}
.test{border:1px blue solid;width:400px;overflow:hidden;}
.time{margin-left:240px;color:#666;font-size:16px;}
.inf{margin:10px 10px;}
.con{margin:10px;min-height:20px;}
</style>
</head>
<body>
    <h1>微博发布</h1>
    <input type="text" id="test1" value="" />
    <input type="button" id="test2" value="发布"/>
    <div id="test3"></div>
<script type="text/javascript">
<!--
    var test1=document.getElementById("test1");
    var test2=document.getElementById("test2");
    var test3=document.getElementById("test3");
    var t,r,i=0;
   
    ///////////////点击发布的方法
    test2.onclick=move;
    function move(){
        var test=document.createElement('div');                            //创建一个微博框节点
        if(test1.value==""){                                            //如果输入的内容为空,重新输入
            alert("亲,请输入内容哦!");
            return;
        }else{
            test.setAttribute("class","test");                            //test的css样式
            test.innerHTML ='<p class="con">'+test1.value+'</p>';        //给节点添加内容
            test3.insertBefore(test,test3.firstChild);                    //把创建的节点插入到temp3文档中,最新发布的放在第一个
            test1.value="";                                                //当发布微博后,输入框里的内容消失
        ///////////////微博框运动
            var child=document.getElementById("test3").childNodes;        //获取所有test3的所有子节点
            var n=-test.offsetHeight;
            function run(){                                                //点击按钮时,微博框运动方法
                n++;
                test.style.marginTop=n+"px";
                if(n>=0){n=0;return;clearTimeout(t);}                    ////此处return?????
                t=setTimeout(run,20);
            }run();   
        }
        ////////创建微博中时间和删除按钮节点
        var inf=document.createElement('div');                            //创建一个div节点,此div的目的是包含时间和删除按钮事件
            inf.setAttribute("class","inf");                            //inf的css样式
            var d=new Date();                                            //设置时间
            inf.innerHTML ='<span class="time">'+d.getHours()+"时"+d.getMinutes()+"分"+d.getSeconds()+"秒"+'</span>';//绑定时间
            test.appendChild(inf);                                        //把inf节点插入到test中       
        var del=document.createElement('input');                        //创建删除按钮节点
            del.type="button";                                            //input的类型为button
            del.value="删除";
            del.style.float="right";
            inf.appendChild(del);                                        //del节点插入到test中
        /////删除按钮事件,删除的动画效果
        del.onclick=dele;
        function dele(){   
            //点击按钮,微博消失
            var m=test.offsetHeight;                                    //高度的值不能直接赋给变量,所以此处不用test.style.height
            function run2(){
                m--;
                r=setTimeout(run2,20);
                test.style.height=m+"px";
                if(m<=0)
                {m=0;clearTimeout(r);test3.removeChild(test);}            //test3.removeChild(test);//删除test的内容   
            }run2();
        }
    }
//-->
</script>
</body>
</html>
时间: 2024-09-20 22:50:58

javascript中DOM写的类似微博发布的效果的相关文章

基于jquery DOM写的类似微博发布的效果_jquery

复制代码 代码如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>微博发布jq版</title> <meta name="Keywords" content=""> <meta name="Description" content="">

javascript中$(function() {});写与不写有哪些区别_javascript技巧

javascript中$(function() {....}) 是 jQuery 中的经典用法,等同于 $(document).ready(function() {....}),即在页面加载完成后才执行某个函数,如果函数中要操作 DOM,在页面加载完成后再执行会更安全,所以在使用 jQuery 时这样的写法很常见. $(document).ready() 里的代码是在页面内容都加载完才执行的,如果把代码直接写到script标签里,当页面加载完这个script标签就会执行里边的代码了,此时如果你标

javascript中直接写php代码的方法

这篇文章介绍了javascript中直接写php代码的方法,有需要的朋友可以参考一下    一.在javascript中嵌入php代码 javascript若是通过js文件包含进来的,那么js文件中也可以直接写php代码,只不过包含js文件是扩展名要改成php,如: 复制代码 代码如下: <script herf="js/demo.js.php"></script> 二.javascript函数参数的默认值 c语言中可以通过这样来设置默认参数: 复制代码 代码如

javascript中DOM复选框选择用法实例

  本文实例讲述了javascript中DOM复选框选择用法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 <html xmlns="http://www

javascript中DOM复选框选择用法实例_javascript技巧

本文实例讲述了javascript中DOM复选框选择用法.分享给大家供大家参考.具体如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>复选框全选全清和反选</title> &l

在C#中想写一个类似C 语言中的while(1)一样的死循环,应写在什么位置啊?

问题描述 在C#中想写一个类似C语言中的while(1)一样的死循环,应写在什么位置啊?想实现的功能是在没有任何系统事件的情况时,来运行我的这段代码.我知道在可视化程序里有这个一段代码,但这段代码在哪里啊?谢谢 解决方案 解决方案二:死循环?while(true){}这就是解决方案三:while(true){}写在窗口加载时候,WINFOMLOAD解决方案四:while(true){//执行}解决方案五:while(true){//你的代码}解决方案六:我的想法是这样的,所以的点击,按钮事件都可

基于javascript制作微博发布栏效果_javascript技巧

本文为大家分享了做微博发布栏效果的过程,涉及到的知识点包括以下: 1.判断IE的方法:直接用  var ie=!-[1,];即可 2.连续发生事件的用法:  IE下:触发对象.onpropertychange  标准下:触发对象.oninput 3.焦点聚集和移开事件.onfocus和onblur 4.判断单字节(0-255之间)与双子节:正则表达式:/[^\x00-\xff]/g 代码如上: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra

JavaScript中DOM详解_javascript技巧

为了达到平稳退化,向后兼容,标记分离的思想,每次写js代码时做的第一件事应该是必要的测试和检查工作: 在js文件里首先添加以下代码进行检查: window.onload = function(){ if(!document.getElementsByTagName) return false; if(!document.getElementById) return false; if(!document.getElementsByClassName) return false; if(!docu

javascript中直接写php代码的方法_javascript技巧

 一.在javascript中嵌入php代码javascript若是通过js文件包含进来的,那么js文件中也可以直接写php代码,只不过包含js文件是扩展名要改成php,如: 复制代码 代码如下: <script herf="js/demo.js.php"></script> 二.javascript函数参数的默认值c语言中可以通过这样来设置默认参数: 复制代码 代码如下: void foo(int a, int b = 1, bool c = false);