这段代码的效果具体是输入标题和内容,点击发布把消息发布出去,并使最新的消息始终在内容的最上面,代码为:
<!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; /*background-color: #ccc;*/ position: relative; /*overflow: hidden;*/ /*margin:50px auto 0;*/ 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节点操作的知识,纯属学习之余练手作品,大家可以参考参考。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍PHP+Mysql+jQuery实现发布微博程序 php篇,包括了PHP+Mysql+jQuery实现发布微博程序 php篇的使用技巧和注意事项,需要的朋友参考一下 先还是要说明本例的业务流程: 1、前端用户输入内容,并对输入的内容字数进行实时统计。 2、用户提交数据,jQuery实现通过Ajax向后台发送数据。 3、后台PHP接收提交表单的数据,并对数据进行必要的安全过滤。 4、后
本文向大家介绍原生JavaScript制作微博发布面板效果,包括了原生JavaScript制作微博发布面板效果的使用技巧和注意事项,需要的朋友参考一下 javaScript实现微博发布面板效果.采用的js知识有: 正则表达式区分中英文字节、随机数生成等函数 淡入淡出、缓冲运动。闪动等动画函数 onfocus、onblur、oninput、onpropertychange等事件 动态添加元素,获取设
本文向大家介绍使用新浪微博API的OAuth认证发布微博实例,包括了使用新浪微博API的OAuth认证发布微博实例的使用技巧和注意事项,需要的朋友参考一下 继续前面的文章《新浪微博OAuth认证和储存的主要过程详解》,现在我们就使用它来发布微博。 我们已经将用户新浪微博的oauth_token和oauth_secret保存到 $_SESSION['oauth_token']=$result['oa
本文向大家介绍基于jQuery实现仿微博发布框字数提示,包括了基于jQuery实现仿微博发布框字数提示的使用技巧和注意事项,需要的朋友参考一下 jQuery实现仿微博发布框字数提示,主要是运用字符串操作! 效果图: HTML: JQ: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍微信开发 js实现tabs选项卡效果,包括了微信开发 js实现tabs选项卡效果的使用技巧和注意事项,需要的朋友参考一下 最近微信应用号是炒的如火如荼,热门满满,但是也可以发现搜索关键词出来,各类网站出现的还都是微信的官方文档解释。正好赶上这个热潮,这几天先把小程序技术文档看了个遍,就直接着手写案例了。很多组件微信内部已经封装完了,正好发现没有tab选项卡效果,这两天正好研究了下。思
本文向大家介绍redis+php实现微博(二)发布与关注功能详解,包括了redis+php实现微博(二)发布与关注功能详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了redis+php实现微博发布与关注功能。分享给大家供大家参考,具体如下: 数据结构: set post:postid:3:time timestamp set post:postid:3:userid 5 set pos