Jquery 使用图像变量设置div的背景图像?

Jquery 使用图像变量设置div的背景图像?,jquery,set,background-image,Jquery,Set,Background Image,有谁能建议我怎么做: 我想使用一个image变量设置div的背景,但不使用image的source/url。例如,这不起作用: var img = new Image(); img.onload = function() { $('#div').css("background-image", img); } img.src = "http://example.com/image.jpg"; 基本上,我正在尝试设置背景图像的宽度/高度,使其非常适合div。我认为使用图像变量是唯一的方法,但

有谁能建议我怎么做:
我想使用一个image变量设置div的背景,但不使用image的source/url。例如,这不起作用:

var img = new Image();
img.onload = function() {
   $('#div').css("background-image", img);
}
img.src = "http://example.com/image.jpg";
基本上,我正在尝试设置背景图像的宽度/高度,使其非常适合div。我认为使用图像变量是唯一的方法,但如果不是,请建议我怎么做。谢谢你的帮助!:)

试试这个:

var img = new Image();
img.onload = function() {
   $('#div').css("background-image", "url(" + img.src + ")");
}
img.src = "http://example.com/image.jpg";
此外,onload并不总是足以进行图像预加载。如果图像被缓存,它可能不会触发加载事件

var img = new Image();
function imgLoaded() {
  $('#div').css("background-image", "url(" + img.src + ")");
}
img.onload = imgLoaded;
img.src = "http://example.com/image.jpg";
if (img.complete || img.readystate === 4) {
  imgLoaded();
}

您不需要使用图像对象,只需将其设置为字符串即可。e、 g

var src = 'http://example.com/image.jpg';

$('#div').css('background-image', 'url(' + src + ')');
记住添加URL位;)

希望有帮助:)

编辑

抱歉,我刚刚意识到您正在使用图像对象预加载它。。。但在这种情况下,这:

var src = 'http://example.com/image.jpg';

$('<img/>').load(function(){

    $('#div').css('background-image', 'url(' + src + ')');

}).attr("src",src);
var src='1〕http://example.com/image.jpg';
$('

这就可以了。

您不能设置背景图像的宽度/高度。唯一的方法是在CSS3中使用
背景大小属性,或者在div内容后面使用绝对定位图像。

您可以创建绝对定位的img,然后使用图像属性设置宽度and高度。通过绝对定位,您可以将其显示在其他内容后面

试一试,如果您遇到问题,请提供代码片段,我可以帮助您纠正html和css。

.src(src);
->
.attr(“src”,src);