2009-10-06 153 views
1

我有下面的javascript函數來創建一個圖像,將顯示在另一個圖像懸停,但圖像不加載...只是當它無法找到圖像的地方的小符號。img not showing

什麼不對這個代碼:

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

你有沒有嘗試設置警報顯示'img.src'變量,以檢查它是一個有效的路徑,或使用Firebug,看看是否被請求的文件,或者檢索中的任何錯誤? – 2009-10-06 21:26:22

+0

這個問題幾乎肯定是'img.src'中的一個不正確的路徑,否則你不會得到「丟失的圖像」圖標。 – 2009-10-06 23:06:23

回答

1

右鍵單擊「丟失的圖像符號」,單擊「屬性」。看看它所說的網址 - 很可能是網址不正確。如果當前頁面位於子文件夾中,則URL可能最終出錯。

你可能想要把圖像的準確網址:

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

如果您將img.style.display設置爲無將不會顯示圖像。多數民衆贊成在你指定的,這將隱藏你的形象(見css reference無:該元素將根本不會產生任何框)。

+0

,但即使顯示'塊',實際圖像不顯示。別的東西一定是錯的...... – 2009-10-06 20:52:19

0

你的代碼工作對我很好(有一次我改變​​)在IE和FF - 所以這要麼意味着圖像的URL是不正確的(它應該是圖像相對於頁面的路徑 - 或者只是使用絕對引用),或者你根本就不調用創建圖像的函數。 (或者你在錯誤的地方調用它,比如DOM準備好之前的<head></head>

你是如何調用函數的?

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) } 

注意」 .. 「!這意味着首先在「圖像」文件夾下進入關卡。

在的script.js:

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