2015-01-29 2 views
0

Я делаю простой слайд-шоу, который имеет кнопки назад и вперед. здесь кодcant получить мое слайд-шоу для работы

<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) не придумывают, как изображения. help?

+0

Как @ozil заявили, что вам нужно обновить атрибут 'src'. Но основная ошибка заключается в том, что вы не устанавливаете правильный атрибут, измените свой код на: 'img.setAttribute (" src "," image "+ slide +" .png ");'. Сейчас вы пытаетесь установить атрибут с именем 'src, imageN.png', который, конечно, не существует. – Cyclonecode

+1

спасибо! это работает –

ответ

2

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

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

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

0

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