<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3.带运动效果的留言本</title>
<meta name="author" content="Administrator" />
<!-- Date: 2014-12-11 -->
<style>
*{margin:0;padding:0}
textarea{border:1px solid #000;}
ul{overflow:hidden;width:500px;height:500px;padding:10px; border:1px solid #000; position:absolute;right:300px;top:0}
li{list-style:none;line-height:28px;border-bottom:1px solid #ccc;overflow:hidden}
</style>
<script>
window.onload=function(){
var oTxt=document.getElementsByTagName('textarea')[0];
var oBtn=document.getElementById('btn');
var oUl=document.getElementsByTagName('ul')[0];
oBtn.onclick=function(){
var oLi=document.createElement('li');
oLi.innerHTML=oTxt.value;
oUl.appendChild(oLi);
oTxt.value=''; //这里要先将oLi的offsetHeight存起来,然后再设置初始化高度为0,如果顺序反了将不起作用,那么就是先设为0,再获取高度了
var iHnow=parseInt(css(oLi,'height')); //parseInt 将字符串类型转化为数字类型
oLi.style.height='0px'; huanchong(oLi,{
'height':iHnow
})
}
}
function css(obj,attr) {
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr]
}
function huanchong(obj,json,fn){
clearInterval( obj.timer );
obj.timer=setInterval(function(){ var iBtn=true; for(var attr in json){
var iTarget = json[attr]; if(attr == 'opacity' ){
var iSpeed = (iTarget-Math.round((css(obj,attr)*100)))/6;
}else{
var iSpeed = (iTarget-parseInt(css(obj,attr)))/6;
} iSpeed= iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed); //精确值 if(attr == 'opacity' ){
var s=Math.round(css(obj,attr)*100) + iSpeed;
}else{
var s=parseInt(css(obj,attr)) + iSpeed;
} if( s > iTarget && iSpeed > 0 || s < iTarget && iSpeed < 0) s=iTarget; if( s!= iTarget ){
iBtn=false;
if(attr == 'opacity' ){
obj.style[attr] = s/100;
obj.style.filter='alpha(opacity='+s+')'
}else{
obj.style[attr] = s +'px';
}
} }
if( s!= iTarget ){
iBtn=true;
fn && fn.call(obj)
}
},30)
}
</script>
</head>
<body>
<textarea id="text" rows="10" cols="40"></textarea>
<input type="button" id="btn" value='留言'/>
<ul> </ul>
</body>
</html>

最新文章

  1. COGS 2387.[HZOI 2016]2387题解
  2. apache.http.client.HttpClient
  3. CSS常用布局整理
  4. 1037: [ZJOI2008]生日聚会Party - BZOJ
  5. java_枚举类枚举值
  6. Android Studio环境下代码混淆+签名打包
  7. C#判断文字是否为汉字
  8. 关于《ASP.NET MVC企业级实战》
  9. hihoCoder #1465 : 后缀自动机五&#183;重复旋律8
  10. [c#]_ELVE_Message多功能用法
  11. HDU 4804 Campus Design
  12. sonar Lint ----code bad smell
  13. IOS之TableViewCell重用机制避免重复显示问题
  14. linux 提示符&gt;怎样退出
  15. Zeta--S3 Linux抓取一帧YUV图像后使用硬件编码器编码成H.264
  16. cmd编译java程序出现:找不到或无法加载主类的原因以及解决办法 以及 给java的main方法传递args参数
  17. 【BZOJ3289】Mato的文件管理 莫队算法+树状数组
  18. 了解git /github
  19. SSH Secure Shell 无法登录:server responded &quot;algorithm negotiation failed”
  20. nginx跨域(转2)

热门文章

  1. Java使用Player播放mp3
  2. 解决Logger在Android Studio 3.1版本无法正常加载tag格式
  3. c# winform控件dock属性停造位置、摆放顺序详解
  4. python算数运算符
  5. html5——边框
  6. 使用 Spring Social 连接社交网络
  7. dubbo之本地伪装
  8. Dispatch Queues 线程池
  9. C# null
  10. Python 之scrapy框架58同城招聘爬取案例