我有以下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子目录中。
答案 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>
)
你是怎么称呼这个功能的?