js层展开/关闭 - 运动缓冲效果

简介:
 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN"> 
  3. <head> 
  4. <title>层展开/关闭 - 运动缓冲效果</title> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
  6. <script type="text/javascript"> 
  7. function Scroll(obj, h, s){ 
  8.     var hh = h || 200; 
  9.     var ss = s || 1.2; 
  10.     var obj = typeof(obj)=="string"?document.getElementById(obj):obj; 
  11.     if(obj == undefined){return false;} 
  12.     var status = obj.getAttribute("status")==null; 
  13.     var oh = parseInt(obj.offsetHeight); 
  14.     obj.style.height = oh
  15.     obj.style.display = "block"
  16.         obj.style.overflow = "hidden"
  17.     if(obj.getAttribute("oldHeight") == null){ 
  18.         obj.setAttribute("oldHeight", oh); 
  19.     }else{ 
  20.         var oldH = Math.ceil(obj.getAttribute("oldHeight")); 
  21.     } 
  22.     var reSet = function(){ 
  23.         if(status){ 
  24.             if(oh < h){ 
  25.                 oh = Math.ceil(h-(h-oh)/s); 
  26.                 obj.style.height = oh+"px"; 
  27.             }else{ 
  28.                 obj.setAttribute("status",false); 
  29.                 window.clearInterval(IntervalId); 
  30.             } 
  31.         }else{ 
  32.             obj.style.height = oldH+"px"; 
  33.             obj.removeAttribute("status"); 
  34.             window.clearInterval(IntervalId); 
  35.         } 
  36.     } 
  37.     var IntervalId = window.setInterval(reSet,10); 
  38.         return status; 
  39. window.onloadfunction(){ 
  40.     var $ = function(id){return document.getElementById(id)}; 
  41.     $('menu').onclick = function(){ 
  42.         Scroll('menu',this.scrollHeight,1.2); 
  43.     } 
  44.     $('test').onclick = function(){ 
  45.         Scroll('test',300,1.2); 
  46.     } 
  47. </script> 
  48. </head> 
  49. <body> 
  50. <div id="test" style="border:1px solid #f00;width:200px">单击后 展开指定高度 300px</div> 
  51. <div id="menu" style="position:absolute;top:10px;left: 400px;border:1px solid #ccc;width:160px;height:16px;text-align:center;cursor:pointer;overflow:hidden;"> 
  52. 单击后 根据展开的高度根据内容而变<br /> 
  53. 1<br /> 
  54. 2<br /> 
  55. 3<br /> 
  56. 4<br /> 
  57. 5<br /> 
  58. 6<br /> 
  59. 7<br /> 
  60. 8<br /> 
  61. 9<br /> 
  62. 10<br /> 
  63. 11<br /> 
  64. 12<br /> 
  65. 13<br /> 
  66. 14<br /> 
  67. 15<br /> 
  68. 16<br /> 
  69. 17<br /> 
  70. 18<br /> 
  71. 19<br /> 
  72. 20<br /> 
  73. 21<br /> 
  74. 22<br /> 
  75. 23<br /> 
  76. 24<br /> 
  77. 25<br /> 
  78. 26<br /> 
  79. 27<br /> 
  80. 28<br /> 
  81. 29<br /> 
  82. </div> 
  83. </body> 
  84. </html> 

 



      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/925215,如需转载请自行联系原作者




相关文章
|
10月前
|
JavaScript 前端开发 Java
使用JavaScript实现小球自由落体运动
使用JavaScript实现小球自由落体运动
93 0
|
JavaScript
js基础笔记学习280蛇流畅运动
js基础笔记学习280蛇流畅运动
39 0
js基础笔记学习280蛇流畅运动
|
JavaScript
js基础笔记学习279初步完成贪吃蛇运动2
js基础笔记学习279初步完成贪吃蛇运动2
52 0
js基础笔记学习279初步完成贪吃蛇运动2
|
JavaScript
js基础笔记学习278初步完成贪吃蛇运动1
js基础笔记学习278初步完成贪吃蛇运动1
51 0
js基础笔记学习278初步完成贪吃蛇运动1
|
JavaScript 前端开发 数据安全/隐私保护
JS实现关闭图片窗口
通过事件的绑定来实现,关闭二维码的效果。
127 0
JS实现关闭图片窗口
|
Web App开发 JavaScript iOS开发
求助,主页面通过iframe访问ngnix中的子页面,子页面中利用调用js方法判断localstonge中是否有值,ios不可用,关闭阻止跨网站追踪,safari可用
紧急求助,主页面通过iframe访问ngnix中的子页面,子页面中利用调用js方法判断localstonge中是否有值,ios不可用,关闭阻止跨网站追踪,safari可用
|
JSON JavaScript 前端开发
好程序员技术教程分享JavaScript运动框架
好程序员技术教程分享JavaScript运动框架,有需要的朋友可以参考下。 JavaScript的运动,即让某元素的某些属性由一个值变到另一个值的过程。如让div的width属性由200px变到400px,opacity属性由0.3变到1.0,就是一个运动过程。
1517 0
|
JavaScript 前端开发
javascript元素跟随鼠标在指定区域运动
原文:javascript元素跟随鼠标在指定区域运动 元素跟随鼠标在指定区域运动通常是用在商城图片的放大镜中,下面是完整的Demo: 鼠标区域 *{margin:0;padding:0;} .
804 0