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

本文介绍了一个简单的JavaScript函数,用于实现网页元素的动态展开和关闭效果。该函数可通过设置不同的参数来调整展开的高度和速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

http://www.corange.cn/archives/2008/10/1930.html

  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. /* 
  8. 函数名称: Scroll 
  9. Scroll(obj, h, s) 
  10. 参数说明: 
  11. obj,[object] id值或对象. 必需 
  12. h,[height] 展开后的高度. 可选(默认为200px) 
  13. s,[speed] 展开速度,值越小展开速度越慢. 可选(默认为1.2){建议取值为1.1到2.0之间[例如:1.17]}. 
  14. 函数返回值: 
  15. true 展开(对象的高度等于展开后的高度) 
  16. false 关闭(对象的高度等于原始高度) 
  17. */ 
  18. function Scroll(obj, h, s){ 
  19. if(obj == undefined){return false;} 
  20. var hh = h || 200; 
  21. var ss = s || 1.2; 
  22. var obj = typeof(obj)=="string"?document.getElementById(obj):obj; 
  23. var status = obj.getAttribute("status")==null; 
  24. var oh = parseInt(obj.offsetHeight); 
  25. obj.style.height = oh
  26. obj.style.display = "block"
  27. obj.style.overflow = "hidden"
  28. if(obj.getAttribute("oldHeight") == null){ 
  29. obj.setAttribute("oldHeight", oh); 
  30. }else{ 
  31. var oldH = Math.ceil(obj.getAttribute("oldHeight")); 
  32. var reSet = function(){ 
  33. if(status){ 
  34. if(oh < h){ 
  35. oh = Math.ceil(h-(h-oh)/s); 
  36. obj.style.height = oh+"px"; 
  37. }else{ 
  38. obj.setAttribute("status",false); 
  39. window.clearInterval(IntervalId); 
  40. }else{ 
  41. obj.style.height = oldH+"px"; 
  42. obj.removeAttribute("status"); 
  43. window.clearInterval(IntervalId); 
  44. var IntervalId = window.setInterval(reSet,10); 
  45. return status; 
  46. window.onloadfunction(){ 
  47. document.getElementById('detail').onclick = function(){ 
  48. Scroll('detail', 300, 1.3); 
  49. document.getElementById('text').onclick = function(){ 
  50. Scroll('text'); 
  51. </script> 
  52. </head> 
  53. <body> 
  54. <p id="detail" style="border:1px dashed #f00;">这是一个段落啦!!哇哈哈哈<br/>点我一下下啦:)</p> 
  55. <div id="text" style="border:1px solid #0f0">Hello World!<br/>点击展开www.corange.cn</div> 
  56. <button onclick="Scroll('text', 400, 1.2)">Hello World</button> 
  57. </body> 
  58. </html> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值