Commit 0da8cf9206eca21498b0d5c89cf445c46c15428e

Authored by zouyang0921
1 parent b34f467c

[年会抽奖]修复上传头像变形

Showing 1 changed file with 21 additions and 17 deletions
mobile.js
@@ -170,6 +170,7 @@ var action = { @@ -170,6 +170,7 @@ var action = {
170 img.src = src; // 改变图片的src 170 img.src = src; // 改变图片的src
171 console.log('img: ', img); 171 console.log('img: ', img);
172 if (img.complete) { // 判断是否有缓存 172 if (img.complete) { // 判断是否有缓存
  173 + console.log(1);
173 var width = parseInt($(dom).css('width')); 174 var width = parseInt($(dom).css('width'));
174 console.log('dom-width: ', width); 175 console.log('dom-width: ', width);
175 console.log('img-width: ' + img.width, 'img-height: ' + img.height); 176 console.log('img-width: ' + img.width, 'img-height: ' + img.height);
@@ -189,23 +190,26 @@ var action = { @@ -189,23 +190,26 @@ var action = {
189 img.height = width; 190 img.height = width;
190 } 191 }
191 } else { // 加载完成执行 192 } else { // 加载完成执行
192 - var width = parseInt($(dom).css('width'));  
193 - console.log('dom-width: ', width);  
194 - console.log('img-width: ' + img.width, 'img-height: ' + img.height);  
195 - var ratio = img.width / img.height;  
196 - if (ratio > 1) {  
197 - img.height = width;  
198 - img.width = width * ratio;  
199 - var margin = (img.width - img.height) / 2;  
200 - $(dom).css("margin-left", -margin + 'px');  
201 - } else if (ratio < 1) {  
202 - img.width = width;  
203 - img.height = width / ratio;  
204 - var margin = (img.width - img.height) / 2;  
205 - $(dom).css("margin-top", margin + 'px');  
206 - } else {  
207 - img.width = width;  
208 - img.height = width; 193 + console.log(2);
  194 + img.onload = function() {
  195 + var width = parseInt($(dom).css('width'));
  196 + console.log('dom-width: ', width);
  197 + console.log('img-width: ' + img.width, 'img-height: ' + img.height);
  198 + var ratio = img.width / img.height;
  199 + if (ratio > 1) {
  200 + img.height = width;
  201 + img.width = width * ratio;
  202 + var margin = (img.width - img.height) / 2;
  203 + $(dom).css("margin-left", -margin + 'px');
  204 + } else if (ratio < 1) {
  205 + img.width = width;
  206 + img.height = width / ratio;
  207 + var margin = (img.width - img.height) / 2;
  208 + $(dom).css("margin-top", margin + 'px');
  209 + } else {
  210 + img.width = width;
  211 + img.height = width;
  212 + }
209 } 213 }
210 } 214 }
211 }, 215 },