使用外部图像设置div宽度和高度?

时间:2016-04-08 19:21:31

标签: javascript jquery css

我试图获取外部图像的宽度和高度,并使用宽度和高度在我的页面中设置Div的宽度和高度。

我可以很容易地获得图像的宽度和高度,但是出于某种奇怪的原因,我无法使用宽度/高度作为我的div!

为了更好地解释这一点,我创造了这个小提琴:

https://jsfiddle.net/qtc3q6sd/2/

这是我的全部代码:

var img = new Image();
img.onload = function() {
  alert(this.width + 'x' + this.width);
  $("#mydiv").css("width", $(this.width()));
  $("#mydiv").css("height", $(this.height()));
}
img.src = 'https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';

有人可以就此问题提出建议吗?

提前致谢。

5 个答案:

答案 0 :(得分:3)

你的宽度和高度都是错误的。

var img = new Image();
img.onload = function() {
  alert(this.width + 'x' + this.height);
  $("#droppable").css("width", this.width);
  $("#droppable").css("height", this.height);
}
img.src = 'https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';

请参阅jsfiddle

答案 1 :(得分:1)

代码逻辑没有错。只是语法错误。

它应该是$(this).width()而不是$(this.width())

var img = new Image();
img.onload = function() {
  alert(this.width + 'x' + this.width);
  $("#mydiv").css("width", $(this).width());
  $("#mydiv").css("height", $(this).height());
}
img.src = 'https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';

答案 2 :(得分:1)

语法有点偏,

试试这个

var img = new Image();
img.onload = function() {
  alert(this.width + 'x' + this.height);
  $("#mydiv").css("width", this.width);
  $("#mydiv").css("height", this.height);
}
img.src = 'https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';

答案 3 :(得分:-1)

这是您的解决方案。在回调函数中, calendar.set(Calendar.YEAR, 2017); 是图像

this

答案 4 :(得分:-1)

您的代码有两个错误。

首先,在onload函数内部'这个'代表图像对象。您试图调用图像的with()和height()函数,但它们不是函数,它们是属性。您必须丢失'()'。

其次,当您尝试执行此操作$(this.width())时,您将宽度值封装在jQuery对象中。您不需要,只需使用width属性this.width

以下代码可以使用:

var img = new Image();
img.onload = function() {
  alert(this.width + 'x' + this.width);
  $("#mydiv").css("width", this.width);
  $("#mydiv").css("height", this.height);
}
img.src = 'https://www.google.co.uk/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';