• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

JS实现等比例缩放图片_js

javascript 搞代码 7年前 (2018-06-13) 199次浏览 已收录 0个评论

  有时候我们前端页面只有500×500像素的宽和高的布局,但是后台返回的数据图片是1000×1000,那么这种情况下 如果我直接返回的话 那么图片肯定有一部分没有显示出来,在这种情况下我是想能不能在我们前端开发实现图片等比例缩放。比如如下html代码:

<div id="demo1">
    <img src=http://www.update8.com/Web/JavaScript/"http://img01.taobaocdn.com/imgextra/i1/397746073/T2BDE8Xb0bXXXXXXXX-397746073.jpg&quot; alt="">
</div>

css代码如下:

#demo1{width:800px;height:300px;overflow:hidden;}

外层div的css样式定了宽度是800像素 高度是300像素,但是这张图片的宽度和高度分别是1060像素和300像素,如果我们不做任何处理的话,那么图片肯定会有260像素被隐藏掉了,而我们现在想要图片被渲染出来后 根据外层容器800像素×300像素的宽度和高度分别等比例缩放,这样的话 不管图片的宽度和高度是多少,都可以自适应!

下面我们可以先看看jsFIddle效果是什么样的!第一张图片是没有任何处理的,第2张小的是根据宽度800像素进行等比例缩放后的。

想要看效果,请轻轻点击我!

已知图片的宽度和高度的等比例缩放的原理是:

 JS实现等比例缩放图片_js

HTML代码如下:

 <img src=http://www.update8.com/Web/Javascript/"http://img01.taobaocdn.com/imgextra/i1/397746073/T2BDE8Xb0bXXXXXXXX-397746073.jpg" width="1060" height="300" alt="">  <div id="demo1">      <img src=http://www.update8.com/Web/Javascript/"http://img01.taobaocdn.com/imgextra/i1/397746073/T2BDE8Xb0bXXXXXXXX-397746073.jpg" alt="">  </div>

CSS代码如下:

http://www.gaodaima.com/30379.html

#demo1{width:800px;height:300px;overflow:hidden;}

JS代码如下:

 /**  * 已知图片的宽度和高度的等比例缩放  */   function knowImgSize(id) {     var idWidth = $(id).width(),  // 容器的宽度和高度         idHeight = $(id).height();      $(id + ' img').each(function(index,img){         var img_w = $(this).width(),             img_h = $(this).height();          // 如果图片自身宽度大于容器的宽度的话 那么高度等比例缩放         if(img_w > idWidth) {                          var height = img_h * idWidth / img_w;             $(this).css({"width":idWidth, "height":height});         }     });   }   // 初始化  $(function(){     knowImgSize("#demo1");  });

由于比较简单 这里我就不提供demo下载了,具体的效果可以看上面jsfiddle链接页面!

欢迎大家阅读《JS实现等比例缩放图片_js》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:JS实现等比例缩放图片_js

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址