2012-05-02 3 views
2

Я изучаю javascript через книгу «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.S. Это мой .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

, что произошло, и что вы ожидали случиться? – Jason

+0

Не уверен * The Good Parts * подходит для изучения javascript. Лучше сначала изучить язык (и сценарии браузера), а затем использовать * The Good Parts *, чтобы улучшить ваше понимание и знания. – RobG

ответ

2

У вас есть опечатка. Это setTimeout, с нижним регистром «o». Не забудьте всегда смотреть случай. Вы можете увидеть свой эффект в прямом эфире: http://jsbin.com/ezoxed/2/edit.

Обязательно, всякий раз, когда вы отлаживаете свой JavaScript, используйте консоль разработчика для своего браузера. Зачастую к нему обращаются, нажимая F12 на клавиатуре. Если бы вы там посмотрели, вы бы увидели следующее сообщение:

Uncaught ReferenceError: setTimeOut is not defined

Это, как говорится, нравится книга. Это фантастическое чтение!

+1

WOW спасибо! Это действительно полезно, особенно часть отладки. Ценить это! – stupidguy

Смежные вопросы