Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Смена картинок. Как зациклить при нажатии? (https://javascript.ru/forum/misc/52052-smena-kartinok-kak-zaciklit-pri-nazhatii.html)

Aggao 02.12.2014 03:24

Смена картинок. Как зациклить при нажатии?
 
Не получается зациклить при нажатии смену картинок :(
// имена картинок
var arr = ["1.jpg", "2.jpg", "8.jpg"];

// каталог, где лежат картинки.
var path = "/images/";

// индекс текущего изображения.
var i = 0;

// id картинки, которая будет меняться
var img = "foto";

next = function(ss) {
    // при первом клике преобразуем id картинки в элемент.
    img = document.getElementById(img);
   
    // и переназначаем эту функцию на новую
    next = function(ss){
        // если есть куда сдвигаться
        if(i < arr.length)
            // сдвигаемся и увеличиваем i
            img.src = path+arr[i++];
        else
            img.src = path+ss;
            i = 0;
    }
}

рони 02.12.2014 03:40

// имена картинок
var arr = ["1.jpg", "2.jpg", "8.jpg"];

// каталог, где лежат картинки.
var path = "/images/";

// индекс текущего изображения.
var i = 0

// id картинки, которая будет меняться
var img = "foto";
img = document.getElementById(img);
var next = function() {
    img.src = path+arr[i];
    i = ++i%arr.length;
}

Aggao 02.12.2014 11:05

Цитата:

Сообщение от рони (Сообщение 343886)
// имена картинок
var next = function() {
    img.src = path+arr[i];
    i = ++i%arr.length;
}

Не работает :( Проверьте пож. работоспособность скрипта, у меня перестало вообще менять картинки.

рони 02.12.2014 11:09

Aggao,
где код который неработает?

рони 02.12.2014 11:17

Aggao,
<input name="" type="button" value="go" onclick="next()">
<img src="http://javascript.ru/forum/images/smilies/thank_you2.gif" alt="" id="foto" >

<script>
  // имена картинок
var arr = ["victory.gif", "lol.gif", "thank_you2.gif"];

// каталог, где лежат картинки.
var path = "http://javascript.ru/forum/images/smilies/";

// индекс текущего изображения.
var i = 0

// id картинки, которая будет меняться
var img = "foto";
img = document.getElementById(img);
var next = function() {
    img.src = path+arr[i];
    i = ++i%arr.length;
}
next()
</script>

Aggao 02.12.2014 16:26

Все работает спасибо. Я скрипт размещал в header :) не понимаю почему один скрипт в head прописывается, а другой под html формой :)

рони 02.12.2014 16:38

Aggao,
для строки 16 важно наличие элемента на странице -- или скрипт после элемента или скрипт в window.onload - запуск когда страница готова.
http://learn.javascript.ru/onload-onerror#window-onload


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