根据.load()

时间:2015-05-28 13:41:01

标签: javascript jquery

我需要在加载Image本身之前获取Image高度和宽度。所以我使用的是jquery .load()方法。

$('<img />').attr('src',someURL).load(function(){
  console.log(this.width);
  console.log(this.height);
})

但问题是我需要根据固定宽度的高度。假设Image的大小为400 * 417,我需要根据200而不是400的高度。为此我添加

$('<img />').attr({
'src':someURL,
'width':200}).load(function(){
  //Get height and width
})

但是上面的代码再次给我高度417而不是宽度为200.我正在寻找js / jquery / angualrjs。请帮忙。

提前致谢:)

1 个答案:

答案 0 :(得分:2)

有点数学可以解决问题。获得实际图像尺寸后,应用比率来获得所需的高度。

例如:

$('<img />').attr('src',someURL).load(function(){
  console.log(this.width); // prints out 400
  console.log(this.height); // prints out 417

  var widthIWant = 200;

  var heightIWant = this.height * widthIWant / this.width; // Gives you 208.5

})