не могу заставить мое слайд-шоу работать

Я делаю простое слайд-шоу с кнопками «назад» и «вперед». вот код

<div align="center">
<img src="prev.png" alt="previous" align="absmiddle" width="30" height="30" onClick="prev();"><img src="image 1.png" id="img" alt="slideshow"><img src="next.png" alt="next" align="absmiddle" width="30" height="30" onClick="next();">
</div>
<script>
var slide = 1;
var img = document.getElementById('img');
if (slide == 4) {
    slide = 1;
}
function next() {
    slide += 1;
    img.removeAttribute("src");
    img.setAttribute("src, image " + slide + ".png");
}
function prev() {
    slide -= 1;
    img.removeAttribute("src");
    img.setAttribute("src, image " + slide + ".png");
}
</script>

кнопки «Далее» и «Предыдущий» работают нормально, но изображения (изображение 1.png, изображение 2.png и изображение 3.png) не отображаются как изображения. помощь?


person The_HTML_Man    schedule 29.01.2015    source источник
comment
Как заявил @ozil, вам нужно только обновить атрибут src. Но главная ошибка в том, что вы устанавливаете не тот атрибут, измените свой код на: img.setAttribute("src", "image" + slide + ".png");. Прямо сейчас вы пытаетесь установить атрибут с именем src, imageN.png, которого, конечно же, не существует.   -  person Cyclonecode    schedule 29.01.2015


Ответы (2)


Как заявил @ozil, вам нужно только обновить атрибут src. Но главная ошибка в том, что вы пытаетесь изменить несуществующий атрибут. Прямо сейчас вы пытаетесь установить атрибут с именем src, imageN.png, где N — номер текущего изображения, которого, конечно же, не существует. Поскольку setAttribute() требует два аргумента, атрибут, который вы хотите изменить, и новое значение, вам придется изменить свой код на:

img.setAttribute("src", "image" + slide + ".png");

обратите внимание, что вам не обязательно использовать removeAttribute() перед вызовом setAttribute().

person Cyclonecode    schedule 29.01.2015

не нужно удалять
img.removeAttribute("src");
только обновить src attribute

person ozil    schedule 29.01.2015