2014-04-10 3 views
0

저는 자바 스크립트에서 아주 새롭고 부드러운 색 변경을하기 위해 스크립트를 작성하려고합니다.하지만 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() 

이 내 코드입니다,하지만 난 크롬에로드 할 때, 문제가 나타납니다 :

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

내 H1은 다음과 같습니다

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

나는 알 내 코드는 이것이다 이드는 올바르게 쓰여진다. 그래서 문제는 무엇인가?

+1

DOM 요소가로드 된 후 자바 스크립트가 실행 중인지 확인하십시오. – Barmar

답변

1

이 작업을 수행하십시오 :

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

나는 당신이이 생성되기 전에도 요소에 액세스하는 생각합니다. DOM을로드 한 후가 실행되도록

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

:

+0

글쎄, 고마워, 정말 문제를 해결하지만, 작동하지 않습니다, 그것은 전에 bgcolor와 함께 일했습니다. 내 실수를 알아 차릴 수 있니? – Methos

+0

내가 살펴볼 것입니다. –

0

onload 핸들러에서 함수를 호출합니다.

관련 문제