Javascript 预加载图像以设置为背景图像

Javascript 预加载图像以设置为背景图像,javascript,jquery,Javascript,Jquery,我正在尝试预加载一些图像并将它们设置为背景图像。我显示的是正在加载图像,但它们不是作为背景图像引入的,而是,“+images+””; 原理图。添加类(“原理图”); css(“背景图像”、“url”(+image_src+)); $(“#菜单”)。附加(示意图); } 函数preload image从不返回值,因此从不设置src属性。为确保调用函数后不会清理对象,我会将对象返回到属性: for(var images in Plane_Images){ var schematic = $(

我正在尝试预加载一些图像并将它们设置为背景图像。我显示的是正在加载图像,但它们不是作为背景图像引入的,而是,
“+images+”

”; 原理图。添加类(“原理图”); css(“背景图像”、“url”(+image_src+)); $(“#菜单”)。附加(示意图); }
函数
preload image
从不返回值,因此从不设置
src
属性。为确保调用函数后不会清理对象,我会将对象返回到属性:

for(var images in Plane_Images){
    var schematic = $("<div data-id='" +id +"_menu' data-url='" +image_src +"'><div class='label'><p>" +images +"</p></div></div>");
    schematic.addClass("schematics");
    schematic.css("background-image", "url(" +image_src +")");

    $("#menu").append(schematic);
}
并通过以下方式访问src:

function preloadImage(url){
    ...
    return imgObj;
}

var Plane_Images = {
    Skin: {
        name: "Skin Schematic",
        image: preloadImage("images/Top.png"),
        schematics: ["A", "B", "C", "D"]
    },
}
因此,有两个答案:函数应该返回一些东西。我将返回对象,这样,如果在函数执行后清除图像对象,预加载不会取消

此外,您的设置功能看起来有点不正常:

var image_src = current.image.src;
应该读到:

for(var images in Plane_Images){

请参见
preload image
函数从不返回值,因此从不设置
src
属性。为确保调用函数后不会清理对象,我将将对象返回到属性:

for(var images in Plane_Images){
    var schematic = $("<div data-id='" +id +"_menu' data-url='" +image_src +"'><div class='label'><p>" +images +"</p></div></div>");
    schematic.addClass("schematics");
    schematic.css("background-image", "url(" +image_src +")");

    $("#menu").append(schematic);
}
并通过以下方式访问src:

function preloadImage(url){
    ...
    return imgObj;
}

var Plane_Images = {
    Skin: {
        name: "Skin Schematic",
        image: preloadImage("images/Top.png"),
        schematics: ["A", "B", "C", "D"]
    },
}
因此,有两个答案:函数应该返回一些东西。我将返回对象,这样,如果在函数执行后清除图像对象,预加载不会取消

此外,您的设置功能看起来有点不正常:

var image_src = current.image.src;
应该读到:

for(var images in Plane_Images){

请参见
preload image
函数从不返回值,因此从不设置
src
属性。为确保调用函数后不会清理对象,我将将对象返回到属性:

for(var images in Plane_Images){
    var schematic = $("<div data-id='" +id +"_menu' data-url='" +image_src +"'><div class='label'><p>" +images +"</p></div></div>");
    schematic.addClass("schematics");
    schematic.css("background-image", "url(" +image_src +")");

    $("#menu").append(schematic);
}
并通过以下方式访问src:

function preloadImage(url){
    ...
    return imgObj;
}

var Plane_Images = {
    Skin: {
        name: "Skin Schematic",
        image: preloadImage("images/Top.png"),
        schematics: ["A", "B", "C", "D"]
    },
}
因此,有两个答案:函数应该返回一些东西。我将返回对象,这样,如果在函数执行后清除图像对象,预加载不会取消

此外,您的设置功能看起来有点不正常:

var image_src = current.image.src;
应该读到:

for(var images in Plane_Images){

请参见
preload image
函数从不返回值,因此从不设置
src
属性。为确保调用函数后不会清理对象,我将将对象返回到属性:

for(var images in Plane_Images){
    var schematic = $("<div data-id='" +id +"_menu' data-url='" +image_src +"'><div class='label'><p>" +images +"</p></div></div>");
    schematic.addClass("schematics");
    schematic.css("background-image", "url(" +image_src +")");

    $("#menu").append(schematic);
}
并通过以下方式访问src:

function preloadImage(url){
    ...
    return imgObj;
}

var Plane_Images = {
    Skin: {
        name: "Skin Schematic",
        image: preloadImage("images/Top.png"),
        schematics: ["A", "B", "C", "D"]
    },
}
因此,有两个答案:函数应该返回一些东西。我将返回对象,这样,如果在函数执行后清除图像对象,预加载不会取消

此外,您的设置功能看起来有点不正常:

var image_src = current.image.src;
应该读到:

for(var images in Plane_Images){

请参见

这里有一种预加载图像以用作背景图像属性的替代方法

for(var image_name in Plane_images){
    var current = Plabe_images[image_name];
    var image_src = current.image.src;  // Or however you store the source.

下面是一种预加载图像以用作背景图像属性的替代方法

for(var image_name in Plane_images){
    var current = Plabe_images[image_name];
    var image_src = current.image.src;  // Or however you store the source.

下面是一种预加载图像以用作背景图像属性的替代方法

for(var image_name in Plane_images){
    var current = Plabe_images[image_name];
    var image_src = current.image.src;  // Or however you store the source.

下面是一种预加载图像以用作背景图像属性的替代方法

for(var image_name in Plane_images){
    var current = Plabe_images[image_name];
    var image_src = current.image.src;  // Or however you store the source.


for
循环是如何启动的?在运行该脚本之前,是否等待所有的
预加载的
图像?加载文档时,for循环自动启动
for
循环是如何启动的?在运行该脚本之前,是否等待所有的
预加载的
图像?for循环启动加载文档时自动启动
for
循环如何启动?在运行该脚本之前是否等待所有
预加载的
图像?加载文档时自动启动for循环如何启动
for
循环?是否等待所有
预加载的
图像运行该脚本?加载文档时,for循环会自动启动。但这并不能帮助我解释为什么没有将其设置为背景图像。请参阅最近对我的答案所做的更改。嗯,我没有试图听起来粗鲁或其他什么,但for循环完全相同,您所做的只是更改变量名。此外,当我执行
控制台时.log(图像\u src)
从你的例子中,我得到了
未定义的
我实际上让它工作了,我把return语句放在了错误的地方。很抱歉,太难了。我刚刚编辑了答案,使
image\u src=current.image.src
符合上面另一个例子的模式。这无助于我解释为什么它没有被设置为backg尽管是圆形的图像。请看我的答案最近的变化。嗯,我不想听起来很粗鲁,但for循环完全相同,您所做的只是更改变量名。另外,当我执行
console.log(image\u src)时
从你的例子中,我得到了
未定义的
我实际上让它工作了,我把return语句放在了错误的地方。很抱歉,太难了。我刚刚编辑了答案,使
image\u src=current.image.src
符合上面另一个例子的模式。这无助于我解释为什么它没有被设置为backg尽管是圆形的图像。请看我的答案最近的变化。嗯,我不想听起来很粗鲁,但for循环完全相同,您所做的只是更改变量名。另外,当我执行
console.log(image\u src)时
从你的例子中,我得到了
未定义的
我实际上让它工作了,我把return语句放在了错误的地方。很抱歉,太难了。我刚刚编辑了答案,使
image\u src=current.image.src
符合上面另一个例子的模式。这无助于我解释为什么它没有被设置为backg尽管是圆形的图像。请看我的答案最近的变化。嗯,我不想听起来很粗鲁,但for循环完全相同,您所做的只是更改变量名。另外,当我执行
console.log(image\u src)时
从您的示例中,我得到了
未定义的
我实际上让它工作了,我把return语句放在了错误的位置。很抱歉,太难了。我刚刚编辑了答案,使
image\u src=current.image.src