Вход

Просмотр полной версии : Проблемы интервалами


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
image.fadeOut использует интервал.
var st = setInterval
итого вложенные таймеры -перекос гарантирован
clearInterval(st);
ну внешний ты допустим остановил, а fade нет

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