2014-04-10 156 views
0

我是一個相當新的JavaScript,我試圖做一個腳本來獲得一個柔和的顏色變化,但是當一個調用objetc被改變時,我遇到了一些問題。我的代碼是這樣的:無法讀取null的屬性樣式?

<script lenguage="javascript"> 
hexadecimal = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F") 
function convierteHexadecimal(num){ 
    var hexaDec = Math.floor(num/16) 
    var hexaUni = num - (hexaDec * 16) 
    return hexadecimal[hexaDec] + hexadecimal[hexaUni] 
} 

function convierteHexadecimal(num){ 
    var hexaDec = Math.floor(num/16) 
    var hexaUni = num - (hexaDec * 16) 
    return hexadecimal[hexaDec] + hexadecimal[hexaUni] 
} 

color_decimal=0 

function degradado(){ 
    color_decimal ++ 
    color_hexadecimal = convierteHexadecimal(color_decimal) 
    document.getElementById("title").style.color = color_hexadecimal + color_hexadecimal + color_hexadecimal 

    //la llamo con un retardo 
    if (color_decimal < 255) 
     setTimeout("degradado()",1) 
} 

degradado() 

這是我的代碼,但是當我在Chrome加載它,一個問題出現在:

document.getElementById("title").style.color 

我的H1是:

<h1 align="center" id="title">Degradando...</h1> 

我注意到該ID是正確寫入,那麼,這是什麼問題?

+1

請確保您的Javascript正在加載DOM元素後運行。 – Barmar

回答

1

試着這樣做:

window.onload = function(){ 
    document.getElementById("title").style.color 
} 

我認爲你正在訪問創建甚至在它的元素。

+0

恩,謝謝,它真的解決了這個問題,但它不起作用,它之前與bgcolor一起工作。你能注意到我的錯誤嗎? – Methos

+0

我會研究它 –

0

調用從onload處理你的函數:

window.onload = function() { 
    degradado(); 
} 

使得加載DOM後它將運行。

相關問題