Через какое-то время слайд-шоу остановлено? - PullRequest
0 голосов
/ 03 сентября 2011

почему не работает истина следующего кода и через 5 минут перестал работать?

var x = 0;
var s = 0;

function cicle() {
    if (x < 2) {
        $("#slide").animate({
            "right": "-=893px"
        }, 1500);
        x++;
        s++;
    } else {
        x = 0;
        s++;
        $("#slide").animate({
            "right": "0px"
        }, 1000);
    }
};
var a = setInterval("cicle()", 5000);
if (s == 10) {
    clearInterval(a);
    var a = setInterval("cicle()", 5000);
}

Пример

1 Ответ

1 голос
/ 03 сентября 2011

Измените первый параметр setInterval на cicle:

var a = setInterval(cicle, 5000);
if (s == 10) {
    clearInterval(a);
    var a = setInterval(cicle, 5000);
}

Я надеюсь, что это решит вашу проблему.

Возможно, было бы лучше остановить анимацию перед добавлениемновый:

function cicle() {
    if (x < 2) {
        $("#slide").stop().animate({
            "right": "-=893px"
        }, 1500);
        x++;
        s++;
    } else {
        x = 0;
        s++;
        $("#slide").stop().animate({
            "right": "0px"
        }, 1000);
    }
}
...