Я пытаюсь изменить значение ввода с помощью функции
У меня есть этот HTML:
<input id="_out" type="text" value="Time: (s)" disabled />
Как указано в вопросе с функцией ТАЙМЕР- Я пытаюсь изменить ситуацию. ценность от #_из
от "Время: (ы)" к "Время: 60S" =&ГТ; ". . .59с" =&ГТ; ". . .58s" =&ГТ; и так далее, а затем сбросить на 0
JS:
let _out = document.querySelector("#_out"); let time_init = 60; const TIMER = (out, init) => { out.value = /\(s\)/.test(out.value) ? out.value.replace("(s)", init + "s") : out.value.replace(/\d+/, init--); if(init == -1) { init = 60; } }; TIMER(_out, time_init); // _out.value returns "Time: 60s" TIMER(_out, time_init); /* _out.value returns "Time: 60s" this and each time subsequently */
Что я уже пробовал:
Я пробовал бежать ТАЙМЕРс вложенной стопкой заявлений индивидуально невложенным в то время как есть прямые ссылки _из и time_init и это, кажется, решает проблему.
Поправьте меня, если я ошибаюсь, но, похоже, это семантическая проблема, заключающаяся в том, что в этом при инициализации из списка arg он инициализируется следующим образом: 60 до начала -- однако оператор применяется к нему, когда он должен уменьшаться, в этом декременты в частности а не time_init несмотря на то, что он был передан в качестве 2-го аргумента.