Кое-как прикрутил максимальный порог значения, никак не догоню как сделать так, чтобы увеличение значения стартовало не сразу, а с задержкой, скажем, в 1 секунду. Например, если нужно увеличить значение на 1, то сделать это нереально. Можно изменить значение повторяемости в 10мс до, скажем, 100. Да, на 1 увеличить значение получится, но когда требуется на 1000 - уснешь пока повысишь (ручной ввод не рассматривается).
Хотелось бы реализовать задержку после зажатия лкм, чтобы число сразу не стремилось увеличиваться в ту же миллисекунду. И, получается, на увеличение значения в единицу - нужно вешать еще одну функцию по событию onclick ?
<style type="text/css">
.DATA {position:absolute;border:none;background:none;border:2px solid black;width: 55px;height: 21px;color:red;text-align:center;font-size:14px;}
.UP {position:absolute;background-color:gray;border:1px solid green;width:20px;height:20px;left: 77px;top: 21px;cursor:pointer;-moz-user-select: none;-khtml-user-select: none;}
</style>
</head>
<body>
<input maxlength="5" id="Attack" class="DATA" style="left: 13px; top: 20px;" type="number" value="3000">
<div class="UP" onmousedown="a='Attack';maxV=3100;up()" onmouseup="a = !1">UP</div>
<script>
var a = !1;
var maxV;
function up() {
var b = document.getElementById(a);
if(b.value<maxV){b.value = +b.value + 1;
setTimeout(function () {
up()
}, 10)
}};
</script>
</body>
</html>