需求是传过来一个图片,根据外层div的大小自动进行缩放效果。

function ShowSecondImg(v) {
var rate, newX, newY,newW, newH = 0; //表示图片相对窗口的缩放比例
var imgW, imgH;
var centerW = $(window).width() - $("#alarmQueue").width() - $("#presInfo").width() - 40; var centerH = $(window).height() - $("#detailedInfor").height()-148;
$("#imgBoxs").find("#second").remove();
var img = $('<img/>', { src: v.First_frame_image_url, "id": "second" });//v.First_frame_image_url img.prependTo('#imgBoxs'); imgW = img.width();
imgH = img.height();
//获取的参数
var rectX= parseInt(v.facerect.x);
var rectY =parseInt(v.facerect.y);
var rectWidth =parseInt(v.facerect.w);
var rectHeight =parseInt(v.facerect.h);
// alert(v.facerect.x); //var i = (centerW / 16 - centerH / 9) > 0 ? 0 : 1;
var i= (centerW/centerH - imgW/imgH ) > 0 ? 0 : 1;
if (i == 1) {
//如果窗口宽不长,高长。以宽为准。
rate = imgW / centerW;
var imgRateH = imgH / rate; //img real rate height;
newX = rectX / rate
newY = rectY / rate;
newW = rectWidth / rate;
newH = rectHeight / rate; $("#imgBox").width(centerW);
$("#imgBox").css("height", "100%");
$("#second").css({ "width": centerW, "height": imgRateH });
}
else if (i == 0) {
//如果窗口宽足够长,高不长。以高为准。
rate = centerH / imgH;
var imgRateW = imgW * rate; //img real rate width;
var leftsideW = (centerW - imgRateW) / 2; //leftside add rightside width;
newX = rectX * rate + leftsideW;
newY = rectY * rate;
newW = rectWidth * rate;
newH = rectHeight * rate; $("#imgBox").height(centerH);
$("#imgBox").css("width", "100%");
$("#second").css({ "width": imgRateW, "height": centerH }); }
// $("#detailedInfor").height($(".container").height()-centerH);
$("#faceDiv").attr('style', 'display:block;top:' + newY + 'px;left:' + newX + 'px;width:' + newW + 'px;height:' + newH + 'px'); }

js实现图片的大小自适应效果的更多相关文章

  1. JS 判断图片尺寸大小,以便页面resize时,动态调整页面元素位置

    ){ clearInterval(global_timename4pool); } } //由于无法判断图片显示完整的时机,只好用定时器来做,计算完成后再关掉定时器. global_timename4 ...

  2. 使用JS实现图片展示瀑布流效果

    不知大家有没有发现,一般的图片展示网站都会使用瀑布流效果,所谓的瀑布流 就是网站内的图片不会一下子全缓存出来,而是等你滚动到一定的距离的时候, 下面的图片才会继续缓存,并且图片也是随机出现的,只是宽度 ...

  3. 用js实现图片的无缝滚动效果

    实现图片的无缝滚动就是要让你的图片集在一定时间里自动切换,那就需要js里的定时器来控制时间. js中关于定时器的方法有两种:setTimeout和setInterval.它们接收的参数是一样的,第一个 ...

  4. js获取图片原始大小

    摘要: 浏览器中显示的图片大小未必是他真实的高和宽,比如像下面这样,我们给他加上宽和高的样式 <img src="IE.png" style="width:25px ...

  5. js 实现图片无限横向滚动效果

    门户网站好多都有产品无线滚动展现的效果: 测试demo1 -- 非无缝滚动(可以看出来从头开始的效果): css样式如下: .box{ width: 1000px; border: 1px solid ...

  6. echarts.js中的图表大小自适应

    echarts的图表,如果父级容器的height/width属性设置为百分比的形式,那么echarts就会warning,且不能正常的生成图表.所以div容器的高度宽度必须指定为px,这设计不知道是为 ...

  7. js插件-图片椭圆轮播效果

    插件效果图: html 代码如下: <div id="container"> <img src="images/cartoon/1.jpg" ...

  8. js限制图片的大小

    <form id="financialForm" action="<%=basePath%>riskcontrol/website/review_bor ...

  9. JS检测图片的大小

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ...

随机推荐

  1. Xcode 8.2 想使用插件 怎么办? 教你科学的使用插件

    楼主属于重度插件依赖党之前装了XcodeGr8 不过每次打开xcode第一次执行cmd+s保存的时候,会卡住很长时间,导致我很不爽[ 虽然使用https://github.com/fpg1503/Ma ...

  2. eclipse左侧不见

    我的解决办法: eclipse--->  Window --->Perspective--> Open Perspective-->Java

  3. java udp与tcp

    一:基础  NET基本对象java.net.InetAddress类的使用 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础.InetAd ...

  4. laravel框架总结(十二) -- 关联关系

    这里我们users表对应的模型类名是users,大家特意注意下和user取名的不同 1.一对一关系 1>表A和表B的记录一一对应,比如一个用户对应一个社交账号 数据表的设计如下:   2> ...

  5. python网络编程-socket

    python提供了两个socket模块 Socket,它提供了标准的BSD Sockets API SocketServer,它提供了服务器中心类,可以简化网络服务器的开发 下面先说socket模块 ...

  6. Windows2012 显示我的电脑

    从Windows2012开始,微软取消了服务器桌面个性化选项,如何重新调出配置界面,可以使用微软命令调出.具体方法如下: 1.同时按住键盘上的“Windows键”+“R”,调出运行窗口.在运行窗口输入 ...

  7. 28-React state提升、组件组合或继承

    Lifting State Up state提升 对于在React应用程序中更改的任何数据,应该有一个单一的数据源.通常,都是将state添加到需要渲染的组件.如果其他组件也需要它,您可以将其提升到最 ...

  8. 复旦高等代数 II(15级)思考题

    1.设 $f(x)=x^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0$ 是整系数首一多项式, 满足: $|a_0|$ 是素数且 $$|a_0|>1+\sum_{i=1}^{n ...

  9. Upload java coed in Ubuntu(在Linux 16上,上传代码)

    指令如下:(按照如下指令顺序执行即可) 1.git status  (注释:可以查看哪些代码改动了) 2.git add .     (注意:不要漏掉add后面的" . ",将本地 ...

  10. CSS 如何使DIV层水平居中

    今天用CSS碰到个很棘手的问题,DIV本身没有定义自己居中的属性, 网上很多的方法都是介绍用上级的text-align: center然后嵌套一层DIV来解决问题. 可是事实上这样的方法科学吗? 经过 ...