2012-05-02 5 views
2

"JavaScript : The Good Parts"라는 책을 통해 javascript를 배우고 있습니다. 그 중 하나가 다음과 같은 페이드 기능입니다.fade() 함수가 작동하지 않습니다.

1 var fade = function (node) { 
    2  var level = 1; 
    3  var step = function() { 
    4   var hex = level.toString(16); 
    5   node.style.backgroundColor = '#FFFF' + hex + hex; 
    6   if (level < 15) { 
    7    level += 1; 
    8    setTimeOut(step, 100); 
    9   } 
10  }; 
11  setTimeOut(step, 100); 
12 }; 
13 
14 fade(document.body); 

그러나 원하는 효과를 얻지 못했습니다. 무엇이 잘못 될지에 대한 아이디어가 있습니까?

P. 이것은 .html 파일입니다. 이것이 유용한 지 나는 모른다.

1 <?xml version="1.0" encoding="utf-8"?> 
    2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    3  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    5  <head> 
    6   <title>My program</title> 
    7  </head> 
    8  <body> 
    9   <pre> 
10    <script type = "text/javascript" src = "program.js"></script> 
11   </pre> 
12  </body> 
13 </html>   

대단히 감사합니다.

+0

은 무슨 일이 있었는지 어떤 당신은 일이 기대했던 : 라이브 효과에 대해 다음 URL을 들여다하세요? – Jason

+0

확실하지 않음 * 좋은 부품 *은 자바 스크립트 학습에 적합합니다. 먼저 언어 (및 브라우저 스크립팅)를 익히고 * 좋은 부품 *을 사용하여 이해와 지식을 향상시키는 것이 좋습니다. – RobG

답변

2

오타가 있습니다. 그것은 setTimeout이고 소문자 "o"입니다. 항상 사건을 지켜보아야합니다. 귀하의 효과는 http://jsbin.com/ezoxed/2/edit에서 실시간으로 볼 수 있습니다.

자바 스크립트를 디버깅 할 때마다 브라우저 용 개발자 콘솔을 사용해야합니다. 종종 키보드의 F12를 눌러 액세스 할 수 있습니다. 거기서 보았다면 다음과 같은 메시지를 보았을 것입니다.

Uncaught ReferenceError: setTimeOut is not defined

그런 말을 듣고 있으면 즐겁습니다. 환상적인 읽기!

+1

와우 감사합니다! 정말 도움이되는데, 특히 디버깅 방법 부분에 도움이됩니다. 고맙습니다! – stupidguy

관련 문제