• 图片缩放JavaScript原生实现


     1  function  scalImg(aLi){
     2         for(var i=0,l=aLi.length;i<l;i++){
     3             var oImg = new Image(),
     4                 oLi = aLi[i],
     5                 imgEle = oLi.children[0];
     6 
     7             oLi.style.width = winW+'px';
     8             oImg.src = imgEle.src;
     9             imgEle.style.width = 'auto';
    10             imgEle.style.height = 'auto';
    11 
    12             /*初始化图片尺寸,相对屏幕水平垂直居中处理;以最大边为基准等比例缩放*/
    13             (function(img){
    14                 oImg.onload = function(){
    15                     var imgW = this.width,
    16                         imgH =  this.height,
    17                         rate = imgW/imgH,
    18                         winRate = winW/winH,
    19                         w = 0,
    20                         h = 0;
    21 
    22                     if(rate>1){    /*图片宽度大于图片高度*/
    23                         w=Math.min(imgW,winW);
    24                         h = w/rate;
    25                         if(h>winH){  /*缩放后高度大于屏幕高度*/
    26                             img.style.height = winH +'px';
    27                         }else{
    28                             img.style.width = w+'px';
    29                         }
    30                     }else{
    31                         h = Math.min(imgH,winH);
    32                         w = h*rate;
    33                         if(w>winW){  /*缩放后宽度大于屏幕宽度*/
    34                             img.style.width = winW +'px';
    35                         }else{
    36                             img.style.height = h+'px';
    37                         }
    38                     }
    39                 }
    40             })(imgEle);
    41         }
    42     }

    缩放比例的大致方法是

    1、new一个img对象,

    2、添加img src属性

    3、在img的load函数中判断其宽高比例;

    判断:若宽度大于高度 此时选择 一个图片宽度;从页面宽度和图片本身宽度中选择较小的宽度作为图片计算宽度;

    然后根据比例算出图片高度,

    此时又得判断若图片高度大于页面高度,图片最终按照高度缩放,高度等于页面高度;

    反之按照图片宽度缩放页面;

    若宽度小于高度;

    在图片高度和页面高度间选择一个一个较小的值作为计算高度,按比例计算出图片宽度。

    若图片宽度大于页面宽度,图片按宽度缩放,宽度等于页面宽度;

    反之图片按高度缩放,高度等于计算高度;

    坚持下去就能成功
  • 相关阅读:
    在家赚钱,威客网站的使用方法
    帅哥编年史
    有些话不吐不快,事情不是这样做滴
    面向对象与形而上学
    Asp.net Mvc问题索引
    Asp.net Mvc视频教程 页面传值基础(get/post/UpdateModel)
    Asp.net Mvc 入门视频教程(试水)
    Linq to Entities in Ado.net EF的事务
    Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json
    Entity SQL Language六 数字函数、时间函数及其它
  • 原文地址:https://www.cnblogs.com/suoking/p/5505663.html
Copyright © 2020-2023  润新知