修改图片超出屏幕后,重新计算大小的算法

pull/54/head
sentsin 2016-11-07 20:33:16 +08:00
parent 2ebf61fe6c
commit aff72fb62a
3 changed files with 18 additions and 15 deletions

View File

@ -24,6 +24,7 @@
* layer.css大面积改善 * layer.css大面积改善
* 降解IE6的fixed支持不过仍然对ie6兼容话说现在全浏览器兼容的组件已经不多了layer后续会整理出不兼容ie6/7的版本 * 降解IE6的fixed支持不过仍然对ie6兼容话说现在全浏览器兼容的组件已经不多了layer后续会整理出不兼容ie6/7的版本
* 修改图片超出屏幕后重新计算大小的算法Merge pull request #36 from 390029659/master
* 修复iframe层在用于iPhone设备时无法触发滚动的Bug * 修复iframe层在用于iPhone设备时无法触发滚动的Bug
--- ---

File diff suppressed because one or more lines are too long

View File

@ -1139,20 +1139,22 @@ layer.photos = function(options, loop, key){
dict.index = layer.open($.extend({ dict.index = layer.open($.extend({
type: 1, type: 1,
area: function(){ area: function(){
var imgarea = [img.width, img.height]; var imgarea = [img.width, img.height];
var winarea = [$(window).width() - 100, $(window).height() - 100]; var winarea = [$(window).width() - 100, $(window).height() - 100];
if(!options.full && (imgarea[0]>winarea[0]||imgarea[1]>winarea[1])){//如果 实际图片的宽或者高比 屏幕大(那么进行缩放)
var wh = [imgarea[0]/winarea[0],imgarea[1]/winarea[1]];//取 宽度 缩放比例 高度缩放比例 //如果 实际图片的宽或者高比 屏幕大(那么进行缩放)
if(wh[0] > wh[1]){//取缩放比例最大的进行缩放 if(!options.full && (imgarea[0]>winarea[0]||imgarea[1]>winarea[1])){
imgarea[0] = imgarea[0]/wh[0]; var wh = [imgarea[0]/winarea[0],imgarea[1]/winarea[1]];//取宽度缩放比例、高度缩放比例
imgarea[1] = imgarea[1]/wh[0]; if(wh[0] > wh[1]){//取缩放比例最大的进行缩放
} imgarea[0] = imgarea[0]/wh[0];
else if(wh[0] < wh[1]){ imgarea[1] = imgarea[1]/wh[0];
imgarea[0] = imgarea[0]/wh[1]; } else if(wh[0] < wh[1]){
imgarea[1] = imgarea[1]/wh[1]; imgarea[0] = imgarea[0]/wh[1];
} imgarea[1] = imgarea[1]/wh[1];
} }
return [imgarea[0]+'px', imgarea[1]+'px']; }
return [imgarea[0]+'px', imgarea[1]+'px'];
}(), }(),
title: false, title: false,
shade: 0.9, shade: 0.9,