2016-02-24 2 views
-3

Мне удалось получить так далеко, но по какой-то причине он не соответствует последнему номеру и запускает команду else, которую я имею в коде.JavaScript && JQuery: Iterating

Мой текущий код: JavaScript Fiddle

Если кто-то может мне точку в правильном направлении, это будет очень высоко ценится, как я провел последние 2 часа, пытаясь понять эту проблему, и только удалось получить это далеко.

Следующая и предыдущая работа прекрасная, наряду с View more/less. Его «Просмотреть следующий адрес», что код, кажется, пропускает другое.

Этот код здесь всегда пропущен, мой вопрос - кто-нибудь знает, почему или может указать мне в направлении исправления этого?

else { 
    $(".activee").eq(idx).addClass("hidden"); 
    $(".activee").eq(idx).removeClass("activee").prev().addClass("activee"); 
    alert("Sorry, there is no more addresses to show..."); 
    num[idx]--; 
} 

Заранее благодарен!

+0

Что здесь вопрос? – Guns

+0

Почему это пропускает мое заявление 'else' @Guns – KDOT

+0

' Почему это пропускает мое заявление else ?. Это потому, что оператор 'if()' возвращает false. Это просто. –

ответ

2

Изменения скрипки к этому:

var num = []; // <-- changed to array from object 
for (i = 0; i < leng; i++) { // <-- while i < leng 
    num.push(i); 
} 

Updated fiddle

+1

Это даже не показалось ошибкой в ​​окне консоли, никогда не думал об этом! Огромное спасибо! – KDOT

+1

Рад, что это помогло, добро пожаловать –

-2
for (i = 0; i == leng; i++) { 
    num.push(0); 
    } 

вы толкая значение 0 в Num массив

, вероятно, означало сделать

for (i = 0; i == leng; i++) { 
    num.push(howMany[i]); 
    } 

, но я просто обезжиренное код, поэтому я не уверен, есть ли еще действует логика ,

+0

Нет, 0 важно иметь в противном случае утверждение: 'if (howMany [idx]! = Num [idx]) {} else {}' всегда будет возвращать false, но спасибо – KDOT

+0

точно, не было вашего вопроса «Почему это пропускает мое другое заявление? " потому что это утверждение всегда будет истинным ... если вы не можете гарантировать, что howMany будет по крайней мере иметь элемент 0. –

+0

Но я могу, потому что 'howMany' - это массив чисел, тогда каждый раз при нажатии кнопки число' num' увеличивается. Причина, почему она всегда была «истина», заключается в том, что я создал «объект», а не массив в «num». – KDOT