首页 > 语言 > JavaScript > 正文

js实现固定显示区域内自动缩放图片的方法

2024-05-06 16:23:23
字体:
来源:转载
供稿:网友

这篇文章主要介绍了js实现固定显示区域内自动缩放图片的方法,实例分析了javascript操作页面元素及属性的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了js实现固定显示区域内自动缩放图片的方法。分享给大家供大家参考。具体实现方法如下:

 

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>无标题文档</title> 
  6. <style type="text/css"
  7. #img{ width:600px; height:400px; position:relative; overflow:hidden; background:#996699;} 
  8. </style> 
  9. </head> 
  10. <body> 
  11. <div id="img"><img src="dsds.JPG" onload="resize_img(this,600,400)" /></div> 
  12. </body> 
  13. </html> 
  14. <script type="text/javascript"
  15. function resize_img(pic,w,h){ 
  16. var re_new_size=function(r){ 
  17. //根据比率重新计算宽度 
  18. return {w:pic.width/r,h:pic.height/r}; 
  19. }; 
  20. var re_offset=function(n){ 
  21. //根据新的宽高度返回偏移量 
  22. return {off_l:(n.w-w)*0.5,off_t:(n.h-h)*0.5}; 
  23. };  
  24. var re_position=function(o,n){ 
  25. //重新定位图片 
  26. pic.style.cssText="position:absolute;top:"+-o.off_t+"px;left:"+-o.off_l+"px;width:"+n.w+"px;height:"+n.h+"px;"
  27. };  
  28. var execute=function(rate){ 
  29. var new_size=re_new_size(rate), 
  30. offset_new=re_offset(new_size); 
  31. re_position(offset_new,new_size); 
  32. }; 
  33. var rate_of_w=pic.width/w, 
  34. rate_of_h=pic.height/h, 
  35. rate; 
  36. if(rate_of_w>=1){ 
  37. //图片宽度大于显示区域宽度 
  38. if(rate_of_h>=1){ 
  39. //且图片高度大于显示区域高度 
  40. rate=Math.min(rate_of_w,rate_of_h); 
  41. }else
  42. //图片高度小于显示区域 
  43. rate=pic.height/h; 
  44. }else
  45. //图片宽度小于显示区域宽度 
  46. if(rate_of_h>=1){ 
  47. //且图片高度大于显示区域高度 
  48. rate=pic.width/w; 
  49. }else
  50. //图片高度小于显示区域高度 
  51. rate=Math.min(rate_of_w,rate_of_h); 
  52. }  
  53. execute(rate); 
  54. //执行入口  
  55. </script> 

希望本文所述对大家的javascript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选