счётчик по клику плюс и минус

402
08 сентября 2017, 23:16

написал скрипт но он не работает, буду признателен если подскажите где ошибся, при нажатии counter-elem__plus число увеличиваеться на 1 при counter-elem__minus отбавляем 1

  var splashVal = document.querySelector(".splash-input").value; 
        var count = 0; 
        document.querySelector(".counter-elem__plus").onclick = function() { 
            count += parseFloat(splashVal + 1); 
            splashVal = count; 
        } 
        document.querySelector(".counter-elem__minus").onclick = function() { 
            if (count > 1) { 
            count += parseFloat(splashVal - 1); 
            splashVal = count; 
          }  
        }   
<input type="text" class="counter-elem__input splash-input" value="5"> 
    <div class="counter-elem__arrow counter-elem__plus"></div> 
    <div class="counter-elem__arrow counter-elem__minus"></div>

Answer 1

Проблема в том, что Вы не присваиваете новое значение инпуту. Видимо, Вы хотите сделать это таким образом splashVal = count;. Но тут count - это просто переменная. Она никоим образом не ссылается на сам инпут. Вы просто увеличили ее и все. Может так?

var splashInput = document.querySelector(".splash-input"); 
var splashVal = parseFloat(splashInput.value); 
document.querySelector(".counter-elem__plus").onclick = function() { 
  splashInput.value = ++splashVal; 
} 
document.querySelector(".counter-elem__minus").onclick = function() { 
  if (splashVal > 1) { 
    splashInput.value = --splashVal; 
  }  
} 
div { 
  cursor: pointer; 
}
<input type="text" class="counter-elem__input splash-input" value="5"> 
<div class="counter-elem__arrow counter-elem__plus">Up</div> 
<div class="counter-elem__arrow counter-elem__minus">Down</div>

P.S.
Точно ниже единицы не должно опускаться? Может имели ввиду ниже нуля?

Answer 2

document.querySelector(".splash-input").value возвращает строку. Вам нужно привести её к типу number, чтобы операция + выполнялась не как конкатенация строк, а как сложение чисел.

var splashVal = parseInt(document.querySelector(".splash-input").value, 10);
READ ALSO
Удаление лишних слешей

Удаление лишних слешей

Здравствуйте! Есть сайт, где в адресной строке можно ввести вместо одного / два и более, а страницы все равно будут открываться(пример: test//home///page)Необходимо...

251
PHP генератор псевдослучайных чисел

PHP генератор псевдослучайных чисел

Здравствуйте! Есть набор чисел от 0 до 15 включительно, их около 70Нужен ГПСЧ, который сможет сгенерировать все эти числа используя какой-то...

380
Хранение конфигурации в файле

Хранение конфигурации в файле

У меня есть список настроек которые пользователь(администратор) может менять в интерфейсе web приложенияКак правило в таких случаях настройки...

185
Как можно получить свою текущую прямую трансляцию из ютуба через api?

Как можно получить свою текущую прямую трансляцию из ютуба через api?

Не могу в документации найти метод, который бы возвращал мне мои прямые трансляции в текущий моментМожет кто знает, поможет?

236