2017-07-26 26 views
2

我想創建一個功能在純javascript,以使一些圖像出現和消失在一定的條件下。所以分配給圖像他們的ID和創建此功能:(整體功能被刪除只是爲了讓事情更簡單,因爲他們不與當前問題發生衝突) 當我調用該函數時,圖像成功地從屏幕上消失,如預期。在全局範圍內聲明一個圖像變量沒有得到分配,但在函數內

function imageOff() 
{ 
var img = document.getElementById("theimage"); 
img.style.opacity = "0"; 
} 

但是,如果我聲明這一點,功能之外作爲一個全球性的圖像不dissapear,我也得到變量是不確定的,當我嘗試CONSOLE.LOG(IMG):

var img = document.getElementById("theimage"); 
img.style.opacity = "0"; 

我需要這個的原因是,只要用戶一次訪問該網站就可以指定該圖像的不透明度值,而不是每次調用該函數時都執行該值。

+2

你是否在dom準備好後執行這段secound代碼? – Matx132

+0

我想你是在dom完全加載之前分配「img」變量的。 – baj9032

+0

謝謝!這真的很有幫助! –

回答

2

問題是,在加載DOM之前您正在分配變量img。

var img = document.getElementById("theimage"); 

如果地方/包所有窗口的onload功能代碼的,問題應該可以解決,因爲在onload可確保DOM負載。

window.onload = function(){ 

var img = document.getElementById("theimage"); 

    ... your functions().. 

} 

當你放置在函數中時它正在工作,因爲在你執行函數時DOM被加載。

+0

謝謝!這真的很有幫助! –

相關問題