Слайдер картинок

Рейтинг: 0Ответов: 1Опубликовано: 11.01.2015

Не работает слайдер картинок.

Всего 5 картинок, переключаются раз в 2 секунды, должен работать 1 минуту.

...
    <script>

        var pics = new Array(5);
        for (var i = 1; i <= 5; i++) {
            pics[i - 1] = new Image();
            pics[i - 1].src = i + ".jpg";
        }

        function pole() {
            var start = new Date();
            var timer = setInterval(function() {
                document.getElementById("corn").src = pics[i];
                i++;
                if(i == pics.length) {
                    i = 0;
                }

                var stop = (new Date() - start) / 1000 / 60;
                if(stop >= 1)
                    clearInterval(timer);
            }, 2000);
        }
    </script>
</head>
<body>
    <img src="" id="corn" alt="">
...

Ответы

▲ 2

Ваша переменная i недоступна внутри блока функции. Читайте про время жизни переменных и области видимости. Конкретно в этом примере нужно внутри функции проинициализировать var i = 0;.

Кроме того, вы делаете что-то очень странное: присваиваете в document.getElementById("corn").src объект, когда там должна быть строка.

Вот пример рабочего кода: http://jsfiddle.net/4xya28hh/