2014-04-10 105 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后它将运行。

相关问题