Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблемы интервалами (https://javascript.ru/forum/misc/33174-problemy-intervalami.html)

Alexxiss 12.11.2012 22:00

Проблемы интервалами
 
Здравствуйте! Решил сделать слайд-галерею, чтобы при нажатии на кнопку старт, она запускалась, а при нажатии на кнопку стоп - останавливалась. Проблема в том, что запускаться она запускается, а вот останавливаться не хочет... Можете помочь с этим?

Вот код:
<div>
<center><img src = "1.jpg" id = "im" alt = "images" width = "600" height = "400" align = "center"/></center>
<center><input type = "button" onclick = "st();" value = "Запустити"/></center>
<center><input type = "button" onclick = "stop();"  value = "Зупинити"/></center>
</div>
<script>

var st = setInterval (function img(){
			var image = $('#im');
			i = Math.floor(Math.random() * 5) + ".jpg";
			image.fadeOut(3000, function () {
				image.attr("src", i);
			});
			
			image.fadeIn(3000);
			
			}, 1000);

function stop () {
	clearInterval(st);
}

beebop 13.11.2012 01:14

У меня останавливается. Только при следующем запуске выдает ошибку. И начинает сразу работать при загрузке страницы.
setInterval надо наверное поместить в функцию и на кнопку повесить вызов функции

dmitriymar 13.11.2012 01:33

Цитата:

Сообщение от Alexxiss
image.fadeOut

использует интервал.
Цитата:

Сообщение от Alexxiss
var st = setInterval

итого вложенные таймеры -перекос гарантирован
Цитата:

Сообщение от Alexxiss
clearInterval(st);

ну внешний ты допустим остановил, а fade нет

Alexxiss 13.11.2012 07:55

Спасибо всем за помощь, кажется разобрался! Действительно перекос был с fadeOut и setInterval.


Часовой пояс GMT +3, время: 22:44.