js 完成对图片的等比例缩放的方法

摘要:
'+Math.random();49varwidth=0;50varheight=0;515253varcheck=函数(){5455if(img.width˃0){5657clearInterval(set);5859resetImgSize(posId,img.widt,img.height,posWidth,posHeight);60}61};6263varset=setInterval(检查,40);6465img.onload=函数(){6667clearInterval(集合);68};697071}7273$(function(){74$('.resetsize').each(function((){75getImgSize(this.src,this.id,168168);76});77});
 1 /*
 2     重新按比例设置 页面上对应图片的长和高,
 3  */
 4 function resetImgSize(id,imgWidth,imgHeight,posWidth,posHeight) {
 5     var width = 0;
 6     var height = 0;
 7     // 按比例缩小图片的算法
 8     if(imgWidth > imgHeight) {
 9         if(imgWidth > posWidth) {
10             width = posWidth;
11             height = imgHeight/imgWidth * width;
12             
13         }else {
14             width = imgWidth;
15             height = imgHeight;
16         }
17     }else {
18         if(imgHeight > posHeight) {
19             height = posHeight;
20             width = (imgWidth/imgHeight) * height;
21         }else {
22             width = imgWidth;
23             height = imgHeight;
24         }
25     }
26     width = Math.floor(width);
27     height = Math.floor(height);
28     $('#'+id).attr('width',width);
29     $('#'+id).attr('height',height);
30     $('#'+id).css('padding-left',(posWidth-width)/2);
31     $('#'+id).css('padding-top',(posHeight-height)/2);
32 
33 }
34 
35 /*
36     获取图片尺寸
37     imgURL  图片加载地址
38     posId   图片位置id
39     posWidth 放在图片位置的width
40     posHeight 放在图片位置的height
41  */
42 
43 function getImgSize(imgURL,posId,posWidth,posHeight) {
44 
45     var img = new Image();
46      
47 
48     img.src = imgURL+'?'+Math.random();
49     var width = 0;
50     var height = 0;
51     
52 
53     var check = function(){
54 
55         if(img.width > 0) {
56 
57         clearInterval(set);
58         
59         resetImgSize(posId,img.width,img.height,posWidth,posHeight);
60         }
61     };
62      
63     var set = setInterval(check,40);
64 
65     img.onload = function(){
66         
67         clearInterval(set);
68     };
69 
70     
71 }
72 
73 $(function(){
74     $('.resetsize').each(function(){
75         getImgSize(this.src,this.id,168,168);
76     });
77 });

免责声明:文章转载自《js 完成对图片的等比例缩放的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【z】Webservice 的设计和模式计算几何--圆与球下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JS日历控件集合----附效果图、源代码

http://www.cnblogs.com/yank/archive/2008/08/14/1267746.html  在进行开发的过程中,经常需要输入时间,特别是在进行查询、统计的时候,时间限定更为重要。       尽管ASP.NET也集成了日历控件,但是其集成的代码量很大,你可以做一个测试,当你在页面使用一个日历控件时,在发布之后查看该页面的源代码...

JS 事件绑定、事件监听、事件委托详细介绍

在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定、事件监听、事件委托(事件代理)等。这些名词是什么意思呢,有什么作用呢? 事件绑定 要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数。所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称。 在JavaScrip...

关于微信JS-SDK 分享接口的两个报错记录

一、前提: 微信测试号,用微信开发者工具测试 二、简单复述文档: 1、引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js 如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/j...

JSON与JS的区别以及转换

JSON是什么?(JSON和JavaScript对象有什么区别?)如何把JS对象转化为JSON字符串,又如何把JSON字符串转化为JavaScript对象? JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式, 这意味着在JavaScript 中处理 JSON...

JS 语法之--函数,异常

1、函数 2、函数表达式 使用表达式定义函数,表达式中的函数名可以省略,如果这个函数名不省略,也只能用在此函数内部。 测试:匿名函数 + 函数表达式 1 //匿名函数 2 const add = function(x, y) { 3 return x +y; 4 }; 5 console.log(typeof(add)) // function...

webstorm像idea调试java一样调试npm的js项目

一.相关软件安装和配置   安装WebStorm   WebStorm官网:( https://www.jetbrains.com/webstorm/ )   安装Chrome和JetBrains IDE Support   JetBrains IDE Support的地址是:        https://chrome.google.com/websto...