2011-04-12 20 views
1

我正在實現一個mouseover,它改變了div onMouseDown和onMouseUp的背景,我也試圖預加載圖像。Java Script Mousovers

這是我到目前爲止;

if(document.images) { 
    buttonDown = new Image(); 
    buttonDown.src = "buttonDown.png"; 
} 

function down(affect) { 
    affect.style.backgroundColor="#333333"; 
    affect.style.color="#ffffff"; 
    affect.style.background = buttonDown; 
    return true; 
    } 

div使用onMouseDown =「down(this);」

這不起作用。唯一不起作用的部分是 - affect.style.background = buttonDown; 我遺漏了腳本標記,但它們都在那裏並且按照它們應該的那樣工作。

我的問題是如何將背景屬性分配給預加載的圖像,只是使用字符串按名稱分配圖像。

+3

高爐從過去! – theazureshadow 2011-04-12 02:57:21

回答

1

首先,我想你正在訪問錯誤的樣式屬性;如果你打算使用backgroundColor,不妨去更具體的backgroundImage

其次,它需要一個字符串,而不是一個Image對象。

試試這個:

affect.style.backgroundImage='url(' + buttonDown.src + ')'; 

所有這一切說,我會考慮像精靈和HTML類(CSS)=)

+0

HTML類。 CSS類選擇器。 – Quentin 2011-04-12 05:21:37

+0

@大衛說得有點不可思議,不是。 – Shad 2011-04-12 05:54:11

+0

我會改變。沒有「CSS類」之類的東西,它是一個術語,意思是(除其他外)「CSS屬性」,「CSS選擇器」,「CSS類選擇器」,「CSS規則集「和」一個HTML類「。請不要使用這個詞,至多不清楚。 – Quentin 2011-04-12 05:56:06

0

我做了一些更多的研究,這就是我發現的。您可以通過使用設置爲style =「display:none」的div來預加載圖像,並在該div內包含圖像。

只要下一次您引用圖像,就會使用相同的路徑進行預加載。