Показать сообщение отдельно
  #1 (permalink)  
Старый 30.04.2018, 15:13
Интересующийся
Отправить личное сообщение для ArtyomZaitsev Посмотреть профиль Найти все сообщения от ArtyomZaitsev
 
Регистрация: 29.11.2017
Сообщений: 11

логический оператор "?"
Добрый день, не могу понять почему это не работает... если у нас newI равно нулю пишем на кнопке "0". Если у нас newI больше 2, то пишем на кнопке значение переменной "a". В промежуточных случаях записать единицу. Но почему скрипт просто не хочет заходить в блок "newI > 2" и всегда выдает единицу на кнопке. Консоль лог выдает, что newI инкременируется как надо.

arr = document.getElementsByTagName('button')
    function func(){
      let i = 1
      return function() {
        let newI = i
        let q = 0
        let w = 1
        let a
        while (newI > 2){
          a = q + w
          q = w
          w = a
          newI--
        }
        newI == 0 ? this.innerHTML = 0 : newI > 2 ? this.innerHTML = a : this.innerHTML = 1
        return i++
      }
    }


    for (let a of arr) {
      a.innerHTML = 0
      a.addEventListener('click', func())
    }

Последний раз редактировалось ArtyomZaitsev, 30.04.2018 в 15:50.
Ответить с цитированием