还是不太明白Math.min里 的比例关系。。。

来源:3-7 根据图片宽高和视口比例设置弹出层尺寸并过渡动画

Chen_dear

2015-07-29 20:22

如果前两个数都小于一  取最小的比例 那图片即使不超过视口 图片也要被缩小了。。

写回答 关注

3回答

  • 一只帅蚂蚁
    2015-08-03 11:56:35
    已采纳

    给你贴出了三种图片在视口里面出现的情况,第一个为例,下面都差不多。http://img.mukewang.com/55bee5cd0001862a08000925.jpg

    Chen_d...

    非常感谢!

    2015-08-03 19:31:21

    共 1 条回复 >

  • 一只帅蚂蚁
    2015-07-30 21:55:23

     如果宽大于视口,那么宽要乘以的系数必须要比 视口的宽度/图片的宽度 要小才行 (因为只有这样才能让图片在视口里),

    同理高度的系数 也要比 视口的高度/图片的高度 要小才行

    所以符合让图片在视口里的系数 要比这两个系数都小才行

    所以系数能取的范围 是小于 (高度的系数 与 宽度的系数中的最小值)  并不是一定就是这个最小值

    如果这个最小值小于1,我们就用这个最小值,使图片缩放的比例最小,

    如果这个值大于1,我们就用1,因为1在这个范围里,并且可以保证图片不变形

    所以最后系数的表达式就是,Math.min(窗口宽度/图片宽度,窗口高度/图片高度,1);

    也就是3者中的最小值


    天真De孩子 回复天真De孩子

    原因找到了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 这个 头部问题 我晕,用sublime 生成的HTML5文档 他是不包含这个头部的!没想到 这个 在火狐 和谷歌下 会出错

    2015-08-16 17:59:15

    共 3 条回复 >

  • Chen_dear
    2015-08-02 19:49:50

    乘以的系数 是小于视口的宽度/图片的宽度  还是 小于等于 如果是小于的话 那 Math.min(窗口宽度/图片宽度,窗口高度/图片高度,1)取三个中的最小值得话这个系数 应该是等于 高度系数 或者是宽度系数 或者是1吧  也不小于他们呀

JS插件开发之LightBox图片画廊(上)

图片画廊插件开发综合演练,快来加入我们的课程吧

27071 学习 · 81 问题

查看课程

相似问题