Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2011, 21:24
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Как остановить скрипт на девятый раз?
<script>
function r2() {
  setInterval(function() {
    var chis_cyd = []
    var res = Math.floor(Math.random() * 10)
    if (res == 0) {
      res += 1
    }
    chis_cyd += res
    document.getElementById('text').value += chis_cyd
  }, 10)
  if (document.getElementById('text').value > 9) {
    r2() = false;
  }
}
</script>
<input type='button' value='push' onclick='r2()'>
<br>
<textarea id='text'>
</textarea>

С кодом все в порядке...почти =)Мне нужно сгенерировать 9 чисел,но как вы понимаете генерируется бесконечное множество, как сделать так чтобы setInterval повторялся только 9 раз?
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2011, 22:09
Профессор
Отправить личное сообщение для Александр х@к Посмотреть профиль Найти все сообщения от Александр х@к
 
Регистрация: 24.08.2011
Сообщений: 159

function foo() {
      var i = 0;
      var time = 0;
      var time_limit = 10*1000; // 10 секунд
      var interval = 100;
      return function() {
          if (i++ < 25) {
              document.getElementById('foo').innerHTML = Math.random();
          }
          else i = 0;
          if(time < time_limit) setTimeout(arguments.callee, interval);
          time+=interval;
      }();
  }

Он останавливает скрипт через 10 сек и выводит число на котором остановилось, а далее ,к сожалению, не знаю
, по моему,надо сделать по такому: Остановилось, запомнить временно(если надо), опять пошёл скрипт, остановилось, запомнило временно(если надо) и так 9 раз

ВНИМАНИЕ скрипт вырван из моего, поэтому в некоторых надо вставить то что соответствует твоей части
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2011, 11:52
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Попробуй:
var interval = setInterval(function() {
// Тут твой код
}, 10);


А в место строчки
r2() = false;

Поставь
clearInterval(interval);
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2011, 11:57
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

можно
1 способ) изменить атрибут onclick
2 способ) Поставить условие на проверку тригера перед setInterval

соответственно считать количество set interval и переключать тригер, или менять атрибут уж как хочеш.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 12.09.2011 в 12:02.
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2011, 12:20
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Пардон неверно понял задачу


Вот рабочее решение.
<script>
var r2=function() {
 var z=setInterval(function() {
    if (document.getElementById('text').value.length > 8){
       clearInterval(z) 
    }
    else {
	    var chis_cyd = []
	    var res = Math.floor(Math.random() * 10)
	    if (res == 0) {
	      res += 1
	    }
	    chis_cyd += res
	    document.getElementById('text').value += chis_cyd    
}     
}, 10);


}
</script>
<input type='button' value='push' onclick='r2()'>
<br>
<textarea id='text'>
</textarea>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 12.09.2011 в 12:29.
Ответить с цитированием
  #6 (permalink)  
Старый 12.09.2011, 15:19
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

спасибо,но я уже сам нашел проблему)Не знаю в том или не том ошибка была,но когда я поменял text на text1 то заработало =)
<script>
function r2() {
 var inter  = setInterval(function() {
    var chis_cyd = []
    var res = Math.floor(Math.random() * 10)
    if (res == 0) {
      res += 1
    }
    chis_cyd += res
    document.getElementById('text1').value += chis_cyd
	if(document.getElementById('text1').textLength == 9) {
	clearInterval(inter)
	}
  }, 10)
}
</script>
<input type='button' value='push' onclick='r2()'>
<br>
<textarea id='text1'>
</textarea>
Ответить с цитированием
  #7 (permalink)  
Старый 12.09.2011, 16:17
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

молодец !
Только второе нажатие на кнопку вызывает бесконечную работу.
Наверное от того что во время 2го нажатия добавляется ещё один символ.
Символов становится 10 и условие ==9 уже не исполняется.

именно по этой причине в вышеприведённом примере.
в условии остановки стоит > а не =

а чтобы при нажатии на кнопочку не добавлялось по одной циферке
добавление циферок не происходит если количество символов больше 9.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 12.09.2011 в 16:24.
Ответить с цитированием
  #8 (permalink)  
Старый 12.09.2011, 16:34
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

да мне это не важно,мне надо один раз генерировать 9 чисел,а потом хоть что с ними делай
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрипт бегущей строки - как сделать строку непрерывной dansury Элементы интерфейса 9 26.01.2013 04:54
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40
как сделать ссылку перехода на скрипт bazhan Общие вопросы Javascript 6 04.09.2008 10:56
Раскрывающееся меню, как переставить на другую сторону? Resager Events/DOM/Window 8 22.08.2008 21:56