• 牛掰的图片等比缩放js代码


    function resizeImg(img,oAW,oAH){
    var oimgW = img.width,
    oimgH = img.height,
    oimg = img,
    oY = (oimgH/oimgW).toFixed(2),
    oX = (oimgW/oimgH).toFixed(2);
    if(oimgW <= oAW&&oimgH <= oAH){//图片高和宽比指定的宽高都小
    oimg.style.height = oimgH+'px';
    oimg.style.width = oimgW+'px';
    } else if(oimgW >= oAW&&oimgH >= oAH){//图片高和宽比指定的宽高都大
    if(oY*oAW>=oAH){ //图片高比宽大
    oimg.style.height = oAH+'px';
    oimg.style.width = oX*oAH+'px';
    }else{ //图片高比宽小
    oimg.style.height = oY*oAW+'px';
    oimg.style.width = oAW+'px';
    }
    }else if(oimgW>oAW &&oimgH < oAH){//图片宽比指定宽大,高比指定的小
    oimg.style.height = oY*oAW+'px';
    oimg.style.width = oAW+'px';
    }else if(oimgW<oAW &&oimgH > oAH){//图片宽比指定宽小,高比指定的大
    oimg.style.height = oAH+'px';
    oimg.style.width = oX*oAH+'px';
    }
    }
    function resizeImgMid(img,oAW,oAH){
    var oimgW = img.width,
    oimgH = img.height,
    oimg = img,
    oY = (oimgH/oimgW).toFixed(2),
    oX = (oimgW/oimgH).toFixed(2);
    if(oimgW <= oAW&&oimgH <= oAH){//图片高和宽比指定的宽高都小
    oimg.style.height = oimgH+'px';
    oimg.style.width = oimgW+'px';
    oimg.style.marginLeft = 1/2*(oAW-oimgW)+'px';
    oimg.style.marginTop = 1/2*(oAH-oimgH)+'px';
    } else if(oimgW >= oAW&&oimgH >= oAH){//图片高和宽比指定的宽高都大
    if(oY*oAW>=oAH){ //图片高比宽大
    oimg.style.height = oAH+'px';
    oimg.style.width = oX*oAH+'px';
    oimg.style.marginLeft = 1/2*(oAW-oX*oAH)+'px';
    oimg.style.marginTop = 0;
    }else{ //图片高比宽小
    oimg.style.width = oAW+'px';
    oimg.style.height = oY*oAW+'px';
    oimg.style.marginLeft = 0;
    oimg.style.marginTop = 1/2*(oAH-oY*oAW)+'px';
    }
    }else if(oimgW>oAW &&oimgH < oAH){//图片宽比指定宽大,高比指定的小
    oimg.style.height = oY*oAW+'px';
    oimg.style.width = oAW+'px';
    oimg.style.marginLeft = 0;
    oimg.style.marginTop = 1/2*(oAH-oY*oAW)+'px';
    }else if(oimgW<oAW &&oimgH > oAH){//图片宽比指定宽小,高比指定的大
    oimg.style.height = oAH+'px';
    oimg.style.width = oX*oAH+'px';
    oimg.style.marginLeft = 1/2*(oAW-oX*oAH)+'px';
    oimg.style.marginTop = 0;
    }
    }

  • 相关阅读:
    死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁
    死磕 java同步系列之AQS起篇
    死磕 java同步系列之自己动手写一个锁Lock
    死磕 java同步系列之synchronized解析
    死磕 java同步系列之volatile解析
    死磕 java同步系列之JMM(Java Memory Model)
    解决Linux下SSH超时自动断开
    Git常用命令
    JVM常用虚拟机命令汇总
    理解GC日志
  • 原文地址:https://www.cnblogs.com/freefish12/p/4347321.html
Copyright © 2020-2023  润新知