Javascript 如何在加载图像时立即运行一些代码?

Javascript 如何在加载图像时立即运行一些代码?,javascript,image,Javascript,Image,我想在加载页面时获得图像的宽度。由于图像的宽度用于判断某些条件,因此逻辑如下: var width = $('img').width(); var height = $('img').height(); if(width > height){ //do fn1 }else{ //do fn2 } $('img').load(function() { var width = $('img').width(); var height

我想在加载页面时获得图像的宽度。由于图像的宽度用于判断某些条件,因此逻辑如下:

var width = $('img').width();
var height = $('img').height();
if(width > height){
  //do fn1
}else{
  //do fn2
}
    $('img').load(function() {
          var width =  $('img').width();
          var height = $('img').height();

          if(width > height){
            console.log(1);
          }else{
            console.log(2);
          }
    });
来模拟我的问题。我知道如果使用函数
setTimeout
delay “获取图像宽度”可用,但不精确

object.onload=function(){
var width = $('img').width();
height = $('img').height();
};

您可以尝试此加载功能。

加载图像后,您应该检查图像的宽度和高度。 使用JQuery,您可以按如下方式检查页面加载:

var width = $('img').width();
var height = $('img').height();
if(width > height){
  //do fn1
}else{
  //do fn2
}
    $('img').load(function() {
          var width =  $('img').width();
          var height = $('img').height();

          if(width > height){
            console.log(1);
          }else{
            console.log(2);
          }
    });

这是jQuery文档中给出的示例:

。。。带有简单图像的页面:

<img src="book.png" alt="Book" id="book">
一旦加载了映像,就会调用处理程序

关于这个主题的更多信息将帮助您解决问题:


或者,如果您非常棒,您可以创建图像元素,添加源,并在加载时执行一些操作。不需要jQuery

var image = new Image();
image.onload = function() {
    alert('image loaded');
};
image.src = 'image/image.jpg';

$('img').load(fnYourHandler)非常感谢,这是一个简洁的答案!即使是换行代码宽度$(函数{}),也有可能在图像中得到零。我更新了答案,您也应该听图像加载。谢谢您的正确回答。