时间:2021-05-26
这段代码的效果具体是输入标题和内容,点击发布把消息发布出去,并使最新的消息始终在内容的最上面,代码为:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>微博消息效果</title> <style> *{margin:0;padding: 0;} .warp{ width: 600px; margin:50px auto 0; background-color: #ccc; } #box{ width: 600px; height: 340px; position: relative; font-family: '微软雅黑'; } #box .span1{ position: absolute; font-size: 16px; line-height: 16px; top: 10px; left: 5px; } #box .span2{ position: absolute; font-size: 16px; line-height: 16px; top: 50px; left: 5px; } #title{ position: absolute; width: 460px; height: 20px; line-height: 20px; font-size: 16px; text-indent: 5px; left: 70px; top: 6px; } #text{ position: absolute; width: 460px; height: 250px; resize: none; top: 50px; left: 70px; text-indent: 5px; font-size: 16px; } #box #prompt{ position: absolute; top: 312px; left: 340px; } #prompt1{ position: absolute; top: 312px; left: 340px; display: none; } #send{ position: absolute; height: 25px; width: 60px; line-height: 20px; font-size: 16px; top: 310px; right: 68px; } #news{ list-style: none; width: 490px; margin:10px auto 0px; padding-bottom: 5px; } #news li{ width: 490px; font-size: 14px; overflow: hidden; background-color: #fff; margin-bottom: 5px; position: relative; } #news li h1{ font-size: 16px; line-height: 20px; } #news li p{ text-indent: 5px; clear: left; } #news li span{ position: absolute; top: 0px; right: 0px; cursor: pointer; } #news span:hover{ color: red; } </style></head><body> <div class="warp"> <div id="box"> <span class='span1'>标题:</span> <input id="title" type="text"> <span class="span2">内容:</span> <textarea id="text"></textarea> <em id="prompt">还可以输入<var id="textnum">200</var>字</em> <em id="prompt1">你已超出<var id="textnum1"></var>字</em> <button id="send">发送</button> </div> <ul id="news"> <li><h1></h1><span></span> <p></p> </li> </ul> </div> <script> var title=document.getElementById('title'); var text=document.getElementById('text'); var send=document.getElementById('send'); var ul=document.getElementById('news'); var lis=ul.getElementsByTagName('li'); var prompt=document.getElementById('prompt'); var prompt1=document.getElementById('prompt1'); var textnum=document.getElementById('textnum'); var textnum1=document.getElementById('textnum1'); var timer1=null,timer2=null; send.onclick=function(){ if (text.value==''||title.value=='') { alert('亲~标题或内容不能为空');return false; } lis[0].innerHTML='<h1>'+title.value+'</h1><span>×</span><p>'+text.value+'</p>'; lis[0].children[1].setAttribute('id','close'); var newLi=document.createElement('li'); ul.insertBefore(newLi,lis[0]); maxheight=lis[1].clientHeight; lis[1].style.height=0+'px'; var x=0; var minstep=0; var maxstep=20; var change=maxheight/maxstep; clearInterval(timer1); timer1=setInterval(function(){ minstep++; if (minstep>=maxstep) { clearInterval(timer1); } x+=change; lis[1].style.height=x+'px'; },10) title.value=''; text.value=''; var close=document.getElementById('close'); for (var i = 0; i < lis.length; i++) { close.onclick=function(){ var isme=this.parentNode; var x=this.parentNode.clientHeight; var minstep=0; var maxstep=20; var change=x/maxstep; clearInterval(timer1); timer1=setInterval(function(){ minstep++; if (minstep>=maxstep) { clearInterval(timer1); ul.removeChild(isme); } x-=change; isme.style.height=x+'px'; },10) // ul.removeChild(lis[i]);//不可以,不知道绑定的是第几个。 } } } text.onfocus=function(){ // console.log(prompt.children[0].innerHTML);//children是指带有标签的子节点; timer2=setInterval(function(){ if(text.value.length<190){ var num=200-text.value.length; textnum.style.color='black'; // prompt.style.color='black'; textnum.innerHTML=num;// // prompt.innerHTML='还可以输入<var id="textnum">'+num+'</var>字</em>'; } if (text.value.length>=190&&text.value.length<=200){ var num=200-text.value.length; // prompt.style.color='black'; textnum.style.color='red';//为什么不变红呢?因为这他妹的也是一个未来事件! // prompt.innerHTML='还可以输入<var id="textnum">'+num+'</var>字</em>'; textnum.innerHTML=num; } if (text.value.length>200){ var num=text.value.length-200; // prompt.style.color='red'; prompt.style.display='none'; prompt1.style.display='block'; textnum1.style.color='red'; textnum1.innerHTML=num; } // console.log(text.value.length); },50) } text.onblur=function(){ clearInterval(timer2); } </script></body></html>这段代码主要运用了一些DOM节点操作的知识,纯属学习之余练手作品,大家可以参考参考。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JS实现仿腾讯微博无刷新删除微博效果代码。分享给大家供大家参考。具体如下:这里演示JS仿腾讯微博无刷新删除效果,将显示在微博列表里的内容删除,运用
本文实例讲述了JS实现新浪微博效果带遮罩层的弹出框代码。分享给大家供大家参考。具体如下:这是一款新浪微博效果的弹出框,现成的JS代码,兼容IE6+,以及各主流浏
本文实例为大家分享了JS新浪微博分享功能,供大家参考,具体内容如下javaScript实现选中文字提示新浪微博分享的效果#div1{position:absol
本文实例讲述了JS实现动态添加DOM节点和事件的方法。分享给大家供大家参考,具体如下:运行效果图如下:完整实例代码如下:Js(DOM)动态添加节点和事件func
本文实例讲述了redis+php实现微博注册与登录功能。分享给大家供大家参考,具体如下:(一)、微博功能概况微博用户账号注册微博用户登录微博发布添加微博好友(粉