Показать сообщение отдельно
  #10 (permalink)  
Старый 12.12.2013, 16:34
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Вот пример из учебника http://learn.javascript.ru/settimeout-setinterval
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style> div { height: 18px; margin: 1px; background-color:green; } </style>
</head>
<body>

<input type="button" id="start" value="Старт">
<input type="button" id="stop" value="Стоп" disabled>

<script>
for (var i=0; i<=20; i+=2) {
  document.write('<div>'+i+'</div>');
}

var startButton = document.getElementById('start');
var stopButton = document.getElementById('stop');

var timers = [];

stopButton.onclick = function() {
  startButton.disabled = false;
  stopButton.disabled = true;

  for(var i=0; i<timers.length; i++) clearInterval(timers[i]);
  timers = [];
}

startButton.onclick = function() {
  startButton.disabled = true;
  stopButton.disabled = false;

  var divs = document.getElementsByTagName('div');
  for (var i=0; i<divs.length; i++) {
    animateDiv(divs, i);
  }
}

function animateDiv(divs, i) {
  var div = divs[i], speed = div.innerHTML;
  timers[i] = setInterval(function() {
    div.style.width = (parseInt(div.style.width||0) + 2) % 400 + 'px'
  }, speed);
}
</script>

</body>
</html>


Но тут то наглядно видно как образуется массив таймеров. А в моём примере как я могу очистить массив, если я даже не понимаю как образуется этот массив.
Ответить с цитированием