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);