Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 24.07.2013, 02:02
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

danik.js,
эм, честно говоря я сам незнаю с чего я так решил, сейчас уже понимаю что с этим id я намудрил, ведь это же результат работы функции, тоесть это что - то, что идентифицирует работу нашего setInterval, чтобы потом мы смогли обратиться к нему чтобы остановить, но тогда по твоему сделать чтобы setInterval срабатывал скажем на одну секунду позже каждый следующий раз ?
вот кстати ещё одна тчедная попытка это реализовать
var end = 5000;			
			var i = 1;
			for (var t = 1000; t <= end; t += 1000) {
				alert(i);
				i = setInterval(function test() { alert("test" + t); i++; }, t);	
				alert("setting up new timer");
			}
			for (; i > 0; i--) {
				clearInterval(i);
			}
тут уже кстати говоря id увеличивается, но подозреваю что это не тот id - он просто налету создаёт новую переменную и алерит её а настоящий id видимо не трогает, и ещё кстати тут таймер тоже сбрасывается но setInterval выполняет test с нулевой задержкой ( короче опять магические алерты
Ответить с цитированием
  #12 (permalink)  
Старый 24.07.2013, 02:20
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

danik.js,
а вобще говоря осуществимо ли это или я зря пытаюсь по твоему? тоесть сделать так чтобы setInterval выполнял функцию каждый раз на одну секунду позже либо раньше...
Ответить с цитированием
  #13 (permalink)  
Старый 24.07.2013, 03:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Открой для себя setTimeout ))

<script>
function setIncrementalInterval(callback, startInterval, increment) {
	var timeout = startInterval;
	(function fn() {
		setTimeout(function(){
			callback();
			timeout += increment;
			fn();
		}, timeout);
	})();
}

var lastTime;
var fn = function(){
	var now = new Date();
	var interval = now - lastTime;
	document.body.innerHTML += interval + '<br />';
	lastTime = now;
};

lastTime = new Date();
setIncrementalInterval(fn, 1000, 100);

</script>
Ответить с цитированием
  #14 (permalink)  
Старый 24.07.2013, 18:27
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

danik.js,
хаха, нуда я вобщем то думал использовать setTimeout с рекурсией,
просто хотелось понять тонкости этого setInterval' а - чего не вышло (
кстати мой код с рекурсией и setTimeout
function dynamicAlert (timer, increment, end) {
	if (timer <= end) {
	    var intervals = timer/increment;
	    setTimeout (function () {
	                alert("прошло " + intervals + " cекунд");								
	                dynamicAlert(timer, increment, end);	
	             }, timer);
	    timer += increment;	
	}
	else return false;	
}

dynamicAlert (1000, 1000, 5000);
добавил ещё условие выхода из рекурсии =)

Последний раз редактировалось Arramis, 24.07.2013 в 18:34.
Ответить с цитированием
  #15 (permalink)  
Старый 24.07.2013, 18:52
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

danik.js,
а почему в твоём коде прибавляются ещё какие - то 1, 2 милисекунды каждый раз ? это таймер по дефолту прибавляется чтоли ?
Ответить с цитированием
  #16 (permalink)  
Старый 24.07.2013, 19:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Arramis,
Реальная частота срабатывания
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остановить таймер setInterval Орёл Общие вопросы Javascript 8 11.01.2015 22:07
таймер обратного отсчета (Setinterval и ClearInterval) Vampir3 Общие вопросы Javascript 1 11.08.2012 19:27
setInterval и глобальные переменные Почемучкин Events/DOM/Window 11 11.08.2012 14:44
Как сделать таймер как в САР? jelome Элементы интерфейса 0 27.06.2011 12:40
Таймер для слайдера (jQuery) RamPi Events/DOM/Window 0 23.05.2011 14:52