2016-01-17 3 views
0

Сценарий у меня до сих пор:Как переключить изображение с помощью JQuery при нажатии на кнопку

var array = ["heil.jpeg","8bit_12.jpeg","city.jpg"]; 

$("#next").click(function() { 
    $("img").fadeOut(function() { 
     for(var i=0; i < array.length; i++) { 
      $(this).attr('src', array[i]).fadeIn(); 
     } 
    }); // end fadeOut 
}); 

Как я могу сделать индекс выбора следующего элемента в массиве при нажатии на кнопку #next?

JSFiddle: http://jsfiddle.net/qo5u81dk

+0

Могли бы вы пожалуйста, создайте jsfiddle? – Tewdyn

+0

Я не использовал его раньше, но надеюсь, что вы поймете: https://jsfiddle.net/qo5u81dk/ – Hadh

ответ

1

Вы переключили идентификаторы «назад» и «следующий», . Кроме того, необходимо рассчитать индекс для изображения массива (drawNum) правильно и использовать его.

$("#next").click(function() { 
    var drawNum = Math.round(Math.random() * (array.length)); 
    $("img").fadeOut(function() { 
    for (var i = 1; i < array.length; i++) { 
     $(this).attr('src', array[drawNum]).fadeIn(); 
    } 
    }); 
}); 

Я изменил ваш jsfiddle немного и он должен работать.

https://jsfiddle.net/qo5u81dk/2/

+0

Я уже сделал это, но это случайно, я хочу, чтобы он просто выбирал следующий, а затем возвращался назад, любую идею, как? – Hadh

+0

Я редактировал jsfiddle. Теперь он должен работать так, как вы хотите, чтобы он –

+0

Большое вам спасибо! – Hadh

0

ид-s в вашем li> DIV инвертируются - кнопка с надписью "NEXT" имеет идентификатор = "назад" и наоборот. В коде, который вы разместили $ («# next»). Click (function(), если вы замените «#next» на «#back», он работает.

+0

На самом деле нет, «next» и «back» - это просто имена в HTML, идентификаторы - это corret (они были стрелками, и я переключил их на слова рядом и назад при публикации на сделайте это более ясным). – Hadh

Смежные вопросы