2014-12-05 2 views
-2

Привет, коллеги-участники stackoverflow, Я пытался создать слайд-шоу. Я ссылаюсь на многие другие сайты, включая этот, но картинки не отображаются в элементе контейнера, а также правильные кнопки «prev» и «next». Буду признателен за помощь! :)(Javascript) Слайд-шоу не работает

мой код:

var photos = newArray(); 
    photos[0] = "img/image(2).jpg"; 
    photos[1] = "img/image(4).jpg"; 
    photos[2] = "img/image(6).jpg"; 
    photos[3] = "img/image(8).jpg"; 
    photos[4] = "img/image(10).jpg"; 
    photos[5] = "img/image(12).jpg"; 
    photos[6] = "img/image(14).jpg"; 
    photos[7] = "img/image(16).jpg"; 
    photos[8] = "img/image(18).jpg"; 
    photos[9] = "img/image(20).jpg"; 
    photos[10] = "img/image(22).jpg"; 
    photos[11] = "img/image(24).jpg" 
    //END OF PHOTOS ARRAY// 
var i = 0; 
var k = photos.length-1; 
function next.onclick() { 
var img= document.getElementById("image-container"); 
img.src = photos[i]; 
if (i < k) { 
    i++; 
}else { 
i = 0; } 

} 
function prev.onclick() { 
var img= document.getElementById("image-container"); 
img.src=photos[i]; 
if)i > 0) {i--;} 
else {i = k; } 
} 
getImageArray = function(containerId) { 
    var containerElement = document.getElementById(container); 
    if (containerElement) { 
     var imageArray = containerElement.getElementById("container"); 
     return photos[i]; 
    } else { 
     return null; 
    } 
} 

это то, что мой слайд-шоу выглядит как (он сломан) http://prntscr.com/5dcfzq Кнопка доля не важно, я могу сделать эту работу, по крайней мере. Основная проблема заключается в том, что изображения не отображаются, а кнопки «назад» и «вниз» перепутаны: «(

ps (Я не уверен, что часть причины заключается в том, как я связываюсь с« следующей » "или "назад" функция с сНом тегом, потому что я это, как я это делает:

<div id = "back" onclick = "prev()"></div> 
+2

'вар фото = newArray();' Там должно быть пространство между новым и Array, чтобы начать с (так 'вар фотографии = новый Array();') –

+0

'функция prev.onclick() {'должна быть просто' function prev() {'; то же самое с «next.onclick()» на основе использования в HTML. – rfornal

+0

в 'prev()' ... 'if) i> 0) {i -;}' должно быть 'if (i> 0) {i--; } ' – rfornal

ответ

1

OK ... резюмировать ...

1.var photos = newArray();

  • Должно быть пространство между новым и массивом, поэтому ...

    var photos = new Array();

2.function prev.onclick() { потребности быть просто function prev() {

3. То же самое с next.onclick() на основе использования в HTML.

4. В prev() ... if)i > 0) {i--;} должно быть ...

if (i > 0) { i--; } 

5.НЕПРАВИЛЬНО: Кроме того, в prev()' ... else should be я = к-1; `

6 .НЕ НУЖНО Не знаете, почему у вас есть функция getImageArray.

7. Это предполагает, что в HTML есть тег ''.

UPDATE:

Вот код, который работает ... это все идет в теле:

Это мои предположения в теле ...

<img id="image-container" /> 
<div id="back" onclick="prev()">Previous</div> 
<div id="next" onclick="mext()">Next</div> 

Сценарий код ДОЛЖЕН быть в конце тела ...

<script> 
    var photos = new Array(); 
     photos[0] = "img/image(2).jpg"; 
     photos[1] = "img/image(4).jpg"; 
     photos[2] = "img/image(6).jpg"; 
     photos[3] = "img/image(8).jpg"; 
     photos[4] = "img/image(10).jpg"; 
     photos[5] = "img/image(12).jpg"; 
     photos[6] = "img/image(14).jpg"; 
     photos[7] = "img/image(16).jpg"; 
     photos[8] = "img/image(18).jpg"; 
     photos[9] = "img/image(20).jpg"; 
     photos[10] = "img/image(22).jpg"; 
     photos[11] = "img/image(24).jpg" 
     //END OF PHOTOS ARRAY// 

    // Here, I set the img variable so that it can be re-used. 
    // I also loaded the first image ... 
    var i = 0; 
    var k = photos.length-1; 
    var img = document.getElementById("image-container"); 
    img.src = photos[i]; 

    function next() { 
     img.src = photos[i]; 
     if (i<k) { 
      i++; 
     } else { 
      i = 0; 
     } 
    } 
    function prev() { 
     img.src=photos[i]; 
     if (i>0) { 
      i--; 
     } else { 
      i = k; 
     } 
    } 
</script> 
+0

Не протестировали это, но оставьте здесь примечание, если оно все еще не работает, и я создам что-нибудь, чтобы проверить его дальше. – rfornal

+0

Я удалил функцию getimagearray, но кнопки все еще не работают, и я не знаю, почему. http://prntscr.com/5dcmmh << вот как выглядит код onclick в HTML. Кроме того, изображения не имеют одинакового размера, поэтому я использую свойство max-height/width в CSS или я задаю ему высоту и ширину набора? – AlienC

+0

теперь есть случайный белый ящик http://prntscr.com/5dcr8t oo Я понимаю, почему это появилось, потому что я установил контейнер для изображений минимальной высоты/ширины на «100 пикселей», но я сделал это так, чтобы div может изменить размер, чтобы соответствовать картине. :/это ничего не значит – AlienC

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