Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Аналог += в JS (https://javascript.ru/forum/xhtml-html-css/76877-analog-%3D-v-js.html)

Nosok 23.02.2019 10:58

Аналог += в JS
 
Добрый день,

По учебе нужно сделать программу, управляющую "умной комнатой" с планшета. Я пытаюсь делать очень простую штуку: задается температура по умолчанию и к ней по нажатию кнопки прибавляется/отнимается 1 градус. Проблема в том, что я не знаю, как присвоить новое значение переменной value1, чтобы потом 1 прибавлялась уже к нему (если просто, что чтобы на каждое нажание кнопки было x+=1;).

Помогите, пожалуйста!

function plus() {
 var value1 = parseInt(document.getElementById("temp").value); // <---
 document.getElementById("output").innerHTML = value1 + 1;
 }
 
 function minus() {
 var value1 = parseInt(document.getElementById("temp").value); // <---
 document.getElementById("output").innerHTML = value1 - 1;
 }
</script>
 </head>

 <body>
 <form name="adder">
 <input type="text" name="temp" id="temp" value="22" size="4" /><br />
 <input type="button" value="+" onclick="plus()">
  <input type="button" value="-" onclick="minus()">
 <p>____________</p>
<span id="output"></span>
 </form>
 </body>
 </html>

MC-XOBAHCK 23.02.2019 12:16

<script>
    function plus() {
        document.querySelector('#temp').value++;
        document.querySelector('#output').textContent = document.querySelector("#temp").value;
    }

    function minus() {
        document.querySelector('#temp').value--;
        document.querySelector('#output').textContent = document.querySelector("#temp").value;
    }
</script>
<form name="adder">
    <input type="text" name="temp" id="temp" value="22" size="4" /><br />
    <input type="button" value="+" onclick="plus()">
    <input type="button" value="-" onclick="minus()">
    <p>____________</p>
    <span id="output"></span>
</form>

laimas 23.02.2019 13:41

MC-XOBAHCK,
зачем две функции если есть попытка иметь значениями "+" и "-"?

laimas 23.02.2019 14:03

Что за шаблон, откуда его ноги растут. :)

Есть два числа - положительное 5 и отрицательно -1. Если мы будем складывать их абсолютные значения, то получим 6. А если нет, то получим согласно правилам постой арифметики.

Так зачем напрягать кнопки классами "plus/minus", дабы различать их в одной функции "сложить/вычесть" или вообще иметь две отдельных функции? Достаточно иметь две кнопки:

<input type="button" value="1" onclick="calc()">
<input type="button" value="-1" onclick="calc()">

с одной функцией обработчиком, в которой просто складывать их значение с N. Останется только проверять крайние допустимые значения суммы.

MC-XOBAHCK 23.02.2019 14:05

Цитата:

Сообщение от laimas (Сообщение 503972)
MC-XOBAHCK,
зачем две функции если есть попытка иметь значениями "+" и "-"?

Взял из оригинала, чтоб понятней было спрашивающему. Он ведь не функцию хотел понять, а как плюсовать/минусовать на единицу.

laimas 23.02.2019 14:09

Цитата:

Сообщение от MC-XOBAHCK
Он ведь не функцию хотел понять, а как плюсовать/минусовать на единицу

Этому как раз в школе учат, то что по ссылке, и не для того, чтобы в тетрадку записать, а применять полученные знания на практике. ;)


Часовой пояс GMT +3, время: 14:14.