国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實(shí)現(xiàn)模仿微博發(fā)布效果實(shí)例代碼

2019-11-20 21:27:23
字體:
供稿:網(wǎng)友

效果:

思路:

利用多功能浮動運(yùn)動框架實(shí)現(xiàn)微博效果,首先,將textarea中的屬性添加到新創(chuàng)建的li里面然后,再將li添加到ul里面,再利用浮動運(yùn)動框架將數(shù)據(jù)動態(tài)的顯示出來。

代碼:

復(fù)制代碼 代碼如下:

<head runat="server">
    <title></title>
    <style type="text/css">
        *
        {
            margin: 0;
            padding: 0;
        }
        #ul1
        {
            width: 300px;
            height: 300px;
            border: 1px solid black;
            margin: 10px auto;
            overflow: hidden;
        }
        #ul1 li
        {
            list-style: none;
            padding: 4px;
            border-bottom: 1px #999 dashed;
            overflow: hidden;
            opacity: 0;
        }
    </style>
    <script type="text/javascript">
        window.onload = function () {
            var btn = document.getElementById('btn');
            var txt = document.getElementById('t1');
            var oUl = document.getElementById('ul1');
            btn.onclick = function () {
                var cLi = document.createElement('li');
                cLi.innerHTML = txt.value;      //將數(shù)據(jù)添加到li里面
                txt.value = '';
                if (oUl.children.length > 0) {      //判斷是否已經(jīng)有l(wèi)i,如果有那么就插入,如果沒有那么就新建
                    oUl.insertBefore(cLi, oUl.children[0]);
                } else {
                    oUl.appendChild(cLi);
                }
                var iHeight = cLi.offsetHeight;     //獲得li的高度
                cLi.style.height = '0';
                move(cLi, { height: iHeight }, function () {        //然后利用浮動運(yùn)動將數(shù)據(jù)顯示出來
                    move(cLi, { opacity: 100 });
                });
            }
        }
        //------------------------------------------------------------------------------------
        //獲取非行間樣式
        function getStyle(ojb, name) {
            if (ojb.currentStyle) {
                return ojb.currentStyle[name];
            }
            else {
                return getComputedStyle(ojb, false)[name];
            }
        }
        //緩沖運(yùn)動json的應(yīng)用
        //json{attr,finsh}
        //json{width:200,height:200}
        function move(obj, json, fnName) {      //obj是對象,Json是對象的屬性, fnName是函數(shù)
            clearInterval(obj.timer);           //關(guān)閉之前的計(jì)時器
            obj.timer = setInterval(function () {
                var timeStop = true;        //記錄屬性是否都已經(jīng)執(zhí)行完成
                for (var attr in json) {        //遍歷json中的數(shù)據(jù)
                    var oGetStyle = 0;
                    if (attr == 'opacity') {  //判斷透明度
                        oGetStyle = Math.round(parseFloat(getStyle(obj, attr)) * 100);      //透明度取整,然后轉(zhuǎn)換完后賦值
                    }
                    else {
                        oGetStyle = parseInt(getStyle(obj, attr));
                    }
                    var speed = (json[attr] - oGetStyle) / 5;       //求速度
                    speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);  //進(jìn)位取整
                    if (oGetStyle != json[attr])
                        timeStop = false;
                    if (attr == 'opacity') {    //透明度
                        obj.style.filter = 'alpha(opacity:' + (oGetStyle + speed) + ')';    //給透明度賦值
                        obj.style.opacity = (oGetStyle + speed) / 100;
                    }
                    else {
                        obj.style[attr] = oGetStyle + speed + 'px';     //移動div
                    }
                }
                if (timeStop) {     //如果所有屬性都已經(jīng)執(zhí)行完成,那么就關(guān)閉計(jì)時器
                    clearInterval(obj.timer);
                    if (fnName) {       //當(dāng)關(guān)閉計(jì)時器后要執(zhí)行的函數(shù)
                        fnName();
                    }
                }
            }, 30)
        }
        //------------------------------------------------------------------------------------
    </script>
</head>
<body>
    <textarea id="t1"></textarea>
    <input type="button" id="btn" value="發(fā)布" />
    <ul id="ul1">
        <li style="display: none;"></li>
    </ul>
</body>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泰兴市| 大渡口区| 平安县| 南澳县| 拜城县| 手机| 新郑市| 福清市| 新田县| 安达市| 五原县| 仁寿县| 莱阳市| 楚雄市| 灵石县| 三明市| 乐昌市| 台州市| 玉林市| 芒康县| 咸阳市| 阿克陶县| 青田县| 会东县| 姚安县| 上饶市| 怀集县| 铅山县| 左云县| 舞钢市| 疏勒县| 富阳市| 萨迦县| 灵丘县| 阜南县| 长春市| 桦南县| 金山区| 杭锦后旗| 六安市| 太原市|