js控制图片自动缩放,实现铺满盒子,不变形,完全局中
来源:互联网 发布:知之深爱之切原文阅读 编辑:程序博客网 时间:2024/05/22 14:49
此js一般用于控制图片铺满盒子,但是比例不变,并且绝对局中
原理:判断图片的高宽与盒子高宽的大小的关系,然后通过比例来控制图片的缩放及定位
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style type="text/css">#img{ width:600px; height:400px; position:relative; overflow:hidden; background:#996699;}</style></head><body><div id="img"><img src="images/test_01.png" onload="resize_img(this,600,400)" /></div></body></html><script type="text/javascript">function resize_img(pic,w,h){//参数 var re_new_size=function(r){ //根据比率重新计算宽度 return {w:pic.width/r,h:pic.height/r}; }; var re_offset=function(n){ //根据新的宽高度返回偏移量 return {off_l:(n.w-w)*0.5,off_t:(n.h-h)*0.5}; }; var re_position=function(o,n){ //重新定位图片 pic.style.cssText="position:absolute;top:"+-o.off_t+"px;left:"+-o.off_l+"px;width:"+n.w+"px;height:"+n.h+"px;"; }; var execute=function(rate){//总执行函数 var new_size=re_new_size(rate), offset_new=re_offset(new_size); re_position(offset_new,new_size); }; //判断变量 var rate_of_w=pic.width/w, rate_of_h=pic.height/h, rate; if(rate_of_w>=1){ //图片宽度大于显示区域宽度 if(rate_of_h>=1){ //且图片高度大于显示区域高度 rate=Math.min(rate_of_w,rate_of_h); }else{ //图片高度小于显示区域 rate=pic.height/h; } }else{ //图片宽度小于显示区域宽度 if(rate_of_h>=1){ //且图片高度大于显示区域高度 rate=pic.width/w; }else{ //图片高度小于显示区域高度 rate=Math.min(rate_of_w,rate_of_h); } } execute(rate); //执行入口 }</script>
阅读全文
0 0
- js控制图片自动缩放,实现铺满盒子,不变形,完全局中
- 如何控制图片不被自动缩放
- css控制图片不变形,图片自动适应
- ios图片缩放,根据UIImageView Frame的尺寸,自动调整UIImage缩放,保证图片显示不变形
- 使用背景图片,图片高度随宽度自动变化,并居中缩放,不变形
- [转]图片自动缩放 js图片缩放
- js实现图片缩放
- JS自动缩放页面图片
- js 自动缩放图片居中
- 图片等比例缩放,图片指定宽或高按比例缩放,图片不变形缩放
- iOS中实现返回可拉伸不变形的图片
- css控制图片拉伸不变形
- html img图片不变形等比例缩放,兼容ie6
- PHP中图片实现等比例不失真缩放
- 通过CSS控制图片自动缩放
- js实现的图片缩放
- JS实现图片缩放功能
- Js实现图片等比缩放
- 【cc2541历程】按键控制PWM调光
- Windows下amp平台搭建(图文教程)
- 问题:struct和class的区别,struct能否包含成员函数
- charles使用
- 研究生阶段如何学习、做研究
- js控制图片自动缩放,实现铺满盒子,不变形,完全局中
- oracle数据中记录被另一个用户锁住
- JQuery中的id选择器含有特殊字符时,不能选中dom元素!
- ajax开发:基于 Token 的身份验证
- Java:创造一个简单的死锁环境
- java concurrent 探秘
- oracle 常用sql命令
- Oracle创建用户与导入导出
- iTOP-4412嵌入式开发历程