js仿新浪微博消息发布功能
本文实例为大家分享了js仿新浪微博消息发布的具体代码,供大家参考,具体内容如下
<!DOCTYPEhtml> <html> <head> <metacharset="UTF-8"> <title>仿新浪微博消息发布功能</title> <style> *{margin:0;padding:0;} #div1{width:400px;height:400px;border:1pxsolid;margin:10pxauto;position:relative;overflow:hidden;} #ul1li{border-bottom:1px#999dashed;padding:4px;list-style:none;filter:alpha(opacity:0); opacity:0;} </style> <scriptsrc="js/chuan.js"></script> </head> <body> <textarearows="5"cols="30"id="txt1"value=""></textarea> <inputtype="button"id="btn1"value="发布"/> <divid="div1"> <ulid="ul1"></ul> </div> <script> varoUl=document.getElementById('ul1'); varoTxt1=document.getElementById('txt1'); varoBtn=document.getElementById('btn1'); oBtn.onclick=function() { varoLi=document.createElement('li'); oLi.innerHTML=oTxt1.value; oTxt1.value=''; if(oUl.children.length>0) { oUl.insertBefore(oLi,oUl.children[0]); } else { oUl.appendChild(oLi); } variHeight=oLi.offsetHeight; oLi.style.height=0; move(oLi,{height:iHeight},function() { move(oLi,{opacity:100}); }); } </script> </body> </html>
chuan,js为之前写的完美运动框架:
functiongetstyle(obj,name) { if(obj.currentStyle) { returnobj.currentStyle; } else { returngetComputedStyle(obj,false)[name]; } } functionmove(obj,json,fnEnd) { clearInterval(obj.timer); obj.timer=setInterval(function() { varbBox=true;//假设所有值都已经到了 for(varstrrinjson) { if(strr=='opacity') { varcur=Math.round(parseFloat(getstyle(obj,strr))*100); } else { varcur=parseInt(getstyle(obj,strr)); } varspeed=(json[strr]-cur)/10; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(cur!=json[strr]) bBox=false; if(strr=='opacity') { obj.style.filter='alpha(opacity:'+(cur+speed+')'); obj.style.opacity=(cur+speed)/100; } else { obj.style[strr]=cur+speed+'px'; } } if(bBox) { clearInterval(obj.timer); if(fnEnd)fnEnd(); } },30); };
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。