放大缩小容器:仿动画

  1. <html>
  2. <head>
  3. <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
  4. <title>放大缩小容器:仿动画</title>
  5. <styletype="text/css">
  6. *{margin:0;padding:0;}
  7. body{padding:1em;}
  8. h2{font-size:2em;}
  9. div{display:inline-block;width:10em;padding:.5em;margin-bottom:1em;overflow:hidden;background:#eee;text-align:center;font-size:1em;}
  10. p#text{position:absolute;right:10px;top:10px;}
  11. </style>
  12. </head>
  13. <body>
  14. <pid="text"></p>
  15. <divid="box1"onmouseover="pr_box('box1',150);"onmouseout="pr_box('box1',100);">
  16. <h2>标题</h2>
  17. <p>测试鼠标滑动效果</p>
  18. </div>
  19. <divid="box2"onmouseover="pr_box('box2',150);"onmouseout="pr_box('box2',100);">
  20. <h2>标题</h2>
  21. <p>测试鼠标滑动效果</p>
  22. </div>
  23. <divid="box3"onmouseover="pr_box('box3',150);"onmouseout="pr_box('box3',100);">
  24. <h2>标题</h2>
  25. <p>测试鼠标滑动效果</p>
  26. </div>
  27. <divid="box4"onmouseover="pr_box('box4',150);"onmouseout="pr_box('box4',100);">
  28. <h2>标题</h2>
  29. <p>测试鼠标滑动效果</p>
  30. </div>
  31. </body>
  32. <scripttype="text/javascript">
  33. functiongetDefaultStyle(obj,attribute){//返回最终样式函数,兼容IE和DOM,设置参数:元素对象、样式特性
  34. returnobj.currentStyle?obj.currentStyle[attribute]:document.defaultView.getComputedStyle(obj,false)[attribute];
  35. }
  36. functionpr_box(id,e){
  37. clearInterval(document.getElementById(id).maxmin);
  38. varobj=document.getElementById(id);
  39. varcfont=getDefaultStyle(obj,"fontSize");//得到默认的大小:附单位
  40. varcp=cfont.replace(/[0-9]|[\.]/g,"");//得到默认的单位
  41. varfsize=parseFloat(cfont);//得到默认的大小数值
  42. vars=10;//运动速度
  43. if(!obj.fsizeTmpe){//存储默认大小数值
  44. obj.fsizeTmpe=fsize;
  45. }
  46. if(!objfont){//如果没有设置当前大小,则赋予其默认大小
  47. obj.style.fontSize=cfont;
  48. }
  49. vare=obj.fsizeTmpe*e/100;//需要改变到的大小数值
  50. varobjfont=parseFloat(obj.style.fontSize);//得到当前的大小
  51. if(e<obj.fsizeTmpe){obj.maxmin=setInterval(function(){pr_min(obj,e,cp)},s);}
  52. if(e>obj.fsizeTmpe){obj.maxmin=setInterval(function(){pr_max(obj,e,cp)},s);}
  53. if(e==obj.fsizeTmpe){
  54. if(objfont<obj.fsizeTmpe){
  55. obj.maxmin=setInterval(function(){pr_max(obj,obj.fsizeTmpe,cp)},s);
  56. }
  57. if(objfont>obj.fsizeTmpe){
  58. obj.maxmin=setInterval(function(){pr_min(obj,obj.fsizeTmpe,cp)},s);
  59. }
  60. }
  61. }
  62. functionpr_max(obj,e,cp){
  63. if(!obj.fs){
  64. objobj.fs=obj.style.fontSize;
  65. }
  66. varobjfont=parseFloat(obj.fs);
  67. if(e>objfont){
  68. //document.getElementById("text").innerHTML+="放大-原始值:"+objfont+"+递增值:"+e/10+"<br/>";
  69. obj.fs=objfont+e/10+cp;
  70. objobj.style.fontSize=obj.fs;
  71. }
  72. elseif(e<objfont){
  73. obj.fs=e+cp;
  74. objobj.style.fontSize=obj.fs;
  75. }
  76. else{clearInterval(obj.maxmin);}
  77. }
  78. functionpr_min(obj,e,cp){
  79. if(!obj.fs){
  80. objobj.fs=obj.style.fontSize;
  81. }
  82. varobjfont=parseFloat(obj.fs);
  83. if(e<objfont){
  84. //document.getElementById("text").innerHTML+="缩小-原始值:"+objfont+"-递减值:"+e/10+"<br/>";
  85. obj.fs=objfont-e/10+cp;
  86. objobj.style.fontSize=obj.fs;
  87. }
  88. elseif(e>objfont){
  89. obj.fs=e+cp;
  90. objobj.style.fontSize=obj.fs;
  91. }
  92. else{clearInterval(obj.maxmin);}
  93. }
  94. </script>
  95. </html>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值