0

基本上我在一个名为的文件夹中有图像,image0.png, image1.png, image(index).png我想将这些图像加载(预加载,以便在页面加载后它们不会永远加载)到 div 中的图像标记中。图片标签由 DOM 生成,然后初始化为默认参数。我遇到的问题是我似乎无法让 Document 模型获取充满图像的数组并将其加载到图像标签中IMGTG.src = IMGS[0];?下面是代码

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script type="text/javascript">

IMGS = new Array(); 
var IMGTG;

function INIT_IMGTG(id)
{       
    IMGTG = document.createElement("img");      
    IMGTG.setAttribute("height", "100%");
    IMGTG.setAttribute("width", "100%");    
    IMGTG.setAttribute("border", "0");      
} 
function LOAD_IMGS() 
{    
    var index = 0;              

    for(index = 0; i < 2; i++) 
    {               
        IMGS[i] = "image" + index + ".png"
    }            
}  
function IMG_ARY(id) 
{
    LOAD_IMGS();    
    INIT_IMGTG(id); 

    IMGTG.src = IMGS[0];        
}
</script>
</head>
<body onload = "IMG_ARY('IMG_ID')">
<div id="IMG_ID"></div>
</body>
</html>

编辑: 到目前为止,我按照两位回答者的描述进行了编辑,但仍然没有运气?我不确定是什么给出的,Javascript 是一种古怪的语言。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script type="text/javascript">

IMGS = new Array(); 
var IMGTG;

function INIT_IMGTG(id)
{       
    IMGTG = document.createElement("img");      
    IMGTG.setAttribute("height", "100%");
    IMGTG.setAttribute("width", "100%");    
    IMGTG.setAttribute("border", "0");  
    id.appendChild(IMGTG);
} 
function LOAD_IMGS() 
{    
    for(var i = 0; i < 2; i++)
    {               
        IMGS[i] = "image" + i + ".png";
    }        
}  
function IMG_ARY(id) 
{
    LOAD_IMGS();    
    INIT_IMGTG(id); 

    IMGTG.src = IMGS[0];        
}
</script>
</head>
<body onload = "IMG_ARY('IMG_ID')">
<div id="IMG_ID"></div>
</body>
</html>
4

2 回答 2

2

看起来您已经正确设置src了图像 ( IMGTG) 以及它的其他属性,但您实际上并没有将它插入到 DOM 中。

尝试将此添加到底部IMG_ARY

id.appendChild(IMGTG);
于 2013-03-19T01:23:08.863 回答
1

似乎与for循环在哪里iindex被互换但只index被声明

改变

var index = 0;              

for(index = 0; i < 2; i++) 
{               
    IMGS[i] = "image" + index + ".png"
}    

for(var i = 0; i < 2; i++)
{               
    IMGS[i] = "image" + i + ".png";
}    
于 2013-03-19T01:42:44.687 回答