zoukankan      html  css  js  c++  java
  • [jQuery] 按比例缩小图片

    其实网上有很多教程的,不过他们基本只是提供如下代码:

            /*
             *
             
    */
            $('.public-left img').each(function(){
                var x = 100; //填入目标图片宽度
                var y = 100; //填入目标图片高度
                var w=$(this).width();
                var h=$(this).height();//获取图片宽度、高度
                if (w > x) { //图片宽度大于目标宽度时
                    var w_original=w, h_original=h;
                    h = h * (x / w); //根据目标宽度按比例算出高度
                    w = x; //宽度等于预定宽度
                    if (h < y) { //如果按比例缩小后的高度小于预定高度时
                        w = w_original * (y / h_original); //按目标高度重新计算宽度
                        h = y; //高度等于预定高度
                    }
                }
                $(this).attr({w,height:h});
            });

    直接这样使用的话,我们拿到的 $(this).width()和 $(this).height()得到的值都会是0!因为图片没有加载完,js就已经去读取了,所以肯定得到的值都是0。

    正确的做法是,要用 $(window).load(),等页面加载完了再执行上面代码,完整代码如下:

            $(window).load(function(){
            /*
             *
             
    */
            $('.public-left img').each(function(){
                var x = 100; //填入目标图片宽度
                var y = 100; //填入目标图片高度
                var w=$(this).width();
                var h=$(this).height();//获取图片宽度、高度
                if (w > x) { //图片宽度大于目标宽度时
                    var w_original=w, h_original=h;
                    h = h * (x / w); //根据目标宽度按比例算出高度
                    w = x; //宽度等于预定宽度
                    if (h < y) { //如果按比例缩小后的高度小于预定高度时
                        w = w_original * (y / h_original); //按目标高度重新计算宽度
                        h = y; //高度等于预定高度
                    }
                }
                $(this).attr({w,height:h});
            });
        });
  • 相关阅读:
    tomcat 服务器的几个重要监听 方法 与 使用
    webSocket 前端 js 加入 心跳机制 的基本写法
    Palinwords (处理回文串)
    Anti-Rhyme Pairs (求最长公共前缀)
    Extend to Palindrome (顺序Hash和逆序Hash处理回文)
    Milk Patterns (hash + 二分)
    次小生成树
    Borg Maze (BFS预处理+最小生成树)
    P1126 机器人搬重物
    P1141 01迷宫 (记忆化搜索)
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/2778821.html
Copyright © 2011-2022 走看看