js控制图片自动缩放,实现铺满盒子,不变形,完全局中

此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>
时间: 2024-10-16 15:38:57

js控制图片自动缩放,实现铺满盒子,不变形,完全局中的相关文章

通过css控制图片自动缩放至css定义大小

在文章的内容区中,通常会有图片.如果图片的尺寸过大,常会把页面结构撑得变形. 以前,我采用JS来控制,效果还是不错. 这段时间,一直用DIV+CSS的方式来制作页面,发现用CSS来得更方便,相信处理速度也更高. 方法如下: 程序代码 <div class=”UBBPanel”> <div class=”UBBTitle”> <img src=”images/code.gif” style=”margin:0px 2px -3px 0px” alt=”程序代码”/> 程序

js实现图片自动切换效果。

js实现图片自动切换效果,简单实用,原谅我只是一只小菜鸟还在学大神天天写博文装逼. <script language="javascript"> setInterval(test, 2000); var array = new Array(); var index = 0; var array = new Array("../../Content/images/3s1hj_kqzew4k2ozbhs2dwgfjeg5sckzsew_780x520.jpg"

如何一个td或table里的图片等比例缩小(css问题)图片自动缩放

网上说了一大堆,说什么设置div的宽度,特别是这篇: http://www.divcss5.com/wenji/w632.shtml 害死人,我们为什么要自动缩放?还不是手机屏幕太多分辨率了?你指定了宽度还怎么缩放?你妹的. 经过我的多次实验,发现一个比较好的方法, 在ios微信/浏览器和android微信/浏览器都可以完美显示,那就是: 1.div不做要求,内容居中就好了 2.放一个table进去,table的width=100%,这是最关键的 3.在td放一个img,img的max-widt

关于H5 video标签铺满盒子的问题

video标签两边不能铺满盒子:如图: 如果不考虑兼容IE浏览器可以使用CSS样式: video{ object-fit:fill;} 以上CSS不兼容IE 需要兼容IE建议去这里看看详细插件的使用 原文地址:https://www.cnblogs.com/yangjunboHTML/p/12160690.html

arcgis for js 根据多边形自动缩放

交代背景:多边形已经渲染在图层上,然后根据多边形自动缩放值合适的大小: 思路:获取图层信息,获取图层中的几何信息,获取图形范围信息,在地图上设置范围:(下面的方法有封装)记一下思路就好 var polygonSingle = map.layerOp.getLayerSingle(layerid); //获取图层信息 if(!polygonSingle){ return }var geomePolygonSingle = polygonSingle.graphics[0].geometry; //

js控制图片缩放、水平和垂直方向居中对齐

已測试兼容 IE6,IE7,IE8,火狐FF,谷歌chrome. 这里使用了jquery插件,假设你不使用jquery,略微改造一下也非常快. 网上查了些资料,用css控制兼容性不好,看去非常揪心.于是找js代码,看了几种写法总是感觉差点什么,算了,还是自己写吧,于是有了以下这个简单的方法,能自己主动依据图片容器大小进行缩放.水平和垂直居中对齐,效果例如以下图: [html] view plaincopy <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.

【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="

JS控制图片显示的大小(图片等比例缩放)

http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/06/01/1749571.html Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo

JS实现图片自动播放,并在鼠标悬停某个圆点时,图片改变为其代表的图片。

如题,我们将实现这一效果. 首先是html5的部分: <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="CSS/CarouselFigure.css"> <scr