img没有显示

时间:2009-10-06 20:26:50

标签: javascript html css image

我有以下javascript函数来创建一个将在悬停另一个图像时显示的图像,但图像不会加载...只是当它找不到图像时就会出现的小符号。

此代码有什么问题:

function createimg() 
{ 
   var img = new Image();
   img.src='images/imageoverlay.png';
   img.id = 'span1'; 
   img.style.zIndex = 10;  
   img.style.position = 'absolute';  
   img.style.display='none'; 
   img.style.top = '140px';  
   img.style.padding='10px'; 
   img.style.left='240px';    
   img.className ='dynamicSpan';  
   document.body.appendChild(img); 
}

图像位于此子代码文件所在的images子目录中。

4 个答案:

答案 0 :(得分:3)

如果您将 img.style.display设置为无,则不会显示任何图片。这就是您指定的内容,这会隐藏您的图片(请参阅css reference none:该元素根本不会生成任何框)。

答案 1 :(得分:1)

右键单击“缺少图像符号”,单击“属性”。看看它说的网址 - 可能是网址不正确。如果当前页面位于子文件夹中,则URL可能最终错误。

您可能想要输入图片的确切网址:

img.src='http://yoursite.com/images/imageoverlay.png';

答案 2 :(得分:1)

源代码在代码中指定时相对于页面。

在CSS中指定时,它与CSS文件相关。

例如,如果您具有以下结构:

/page.html
/css/style.css
/scripts/script.js
/images/image.png

在page.html中:

<img src="images/image.png">

在style.css中:

#image { background-image: url(../images/image.png) }

注意“..”!这意味着在下载“images”文件夹之前先上一级。

在script.js中:

img.src = "images/image.png";

答案 3 :(得分:0)

你的代码在IE和FF中都适用于我(一旦我更改img.style.display='block';) - 所以这或者意味着图像的URL不正确(它应该是相对于你的页面的图像的路径 - 或者只是使用绝对引用)或者你只是不调用创建图像的函数。 (或者你在错误的地方调用它,比如在DOM准备好之前<head></head>

你是怎么称呼这个功能的?