代码之家  ›  专栏  ›  技术社区  ›  Tony The Lion

IMG不显示

  •  1
  • Tony The Lion  · 技术社区  · 16 年前

    我有下面的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 回复  |  直到 16 年前
        1
  •  1
  •   DisgruntledGoat    16 年前

    右键单击“缺少图像符号”,单击“属性”。看看它所说的URL——它很可能是不正确的。如果当前页面位于子文件夹中,则URL可能会出错。

    您可能需要输入图像的确切URL:

    img.src='http://yoursite.com/images/imageoverlay.png';
    
        2
  •  3
  •   theomega    16 年前

    如果你设置 img.style.display到none 不会出现图像。这就是您指定的,这将隐藏您的图像(请参见 css reference : 无:元素根本不会生成任何框 )

        3
  •  1
  •   Anthony Mills    16 年前

    当在代码中指定时,源与页面相关。

    当在css中指定时,它是相对于css文件的。

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

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

    在页面中

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

    在style.css中:

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

    注意“..”!这意味着在进入“图像”文件夹之前,先上升一个级别。

    在脚本中。

    img.src = "images/image.png";
    
        4
  •  0
  •   Jason Berry    16 年前

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

    您如何调用函数?