zoukankan      html  css  js  c++  java
  • 修改图片src获取高度问题解决

    需求

    在刚进到页面时,需要根据后端传来的数据,判断要加载哪张图片,再获取图片的高度,来调整页面样式。

    问题

    在打开页面时,图片是加载出来了,但获取图片高度却为0,why...

    $(".top-btn").height();  //0
    

    解决

    造成这样结果的原因是,图片在修改src之后,它要去寻找图片的路径然后加载出来,虽然这个时间很短暂,但是加载完成的时间点也绝对是晚于系统执行下一条语句。
    但是我们可以创建一个Image,通过它的onload函数,就能够判断图片是否渲染完成,这样我们就可以去获取页面的图片元素的高度了。
    上代码:

    var img = new Image();
    if (result.end == 1) { //后端获取的判断条件(无视)
      img.src = "./img/01.jpg";
    } else {
      img.src = "./img/02.jpg"
    }
    
    $(".top-btn").html($(img)); //将创建的img插入到页面中
    img.onload = function () {
      $('.wrapper').css({  //图片渲染完成,获取图片高度,赋值给wrapper
        "padding-bottom": img.height + "px"
      });
    }
    
  • 相关阅读:
    知识点
    nodejs总结之redis模块
    nodejs总结之日志模块log4js
    各种类型的串口说明
    linux常用命令
    JAVA总结之编码
    JAVA总结之异常
    JAVA总结之方法重载
    JAVA总结之关键字static和final
    JAVA总结之数组篇
  • 原文地址:https://www.cnblogs.com/ZerlinM/p/13932649.html
Copyright © 2011-2022 走看看