У меня 2 вопроса:
Вопрос 1: У меня есть функция счетчика, и у меня есть одна небольшая проблема с ней. Если пользователь, например, набирает 00000009 или 00021 в счетчике, если пользователь щелкает от счетчика, он все равно будет отображать 00000009 или 00021 в счетчике. Что я хочу, так это то, что если что-то подобное происходит, то, что я хочу, это чтобы пользователь щелкал мышью, и я хотел, чтобы счетчик отображал его как 9 или 21, а не 00000009 или 00021. Хотя я не знаю, как это сделать , Кто-нибудь знает как это побороть:
Вопрос 2: Если я использовал клавишу Backspace для удаления числа из счетчика, и в нем остался пустой счетчик, что нужно сделать, чтобы, если я щелкну вдали от счетчика, снова появилось последнее число в счетчике в вертушке?
Моя основная функция счетчика:
function Spinner(elem,min, max){
this.elem = elem;
this.elem.value = min;
this.min = min;
this.max = max;
this.timer;
this.speed = 150; //milliseconds between scroll values
var selfO = this;
this.elem.onkeyup = function(){
var regex = /^[0-9]*$/;
if(!regex.test(selfO.elem.value)){
selfO.elem.value = selfO.elem.value.substring(0,selfO.elem.value.length-1);
return;
}
selfO.validateValue();
}
this.validateValue = function(){
if(Number(selfO.elem.value) > selfO.max) {selfO.elem.value = selfO.max;}
if(Number(selfO.elem.value) < selfO.min) {selfO.elem.value = selfO.min;}
}
this.stopSpinning = function(){
clearTimeout(selfO.timer);
}
this.spinValue = function(dir){
selfO.elem.value = Number(selfO.elem.value) + dir;
selfO.validateValue();
selfO.timer = setTimeout(function(){selfO.spinValue(dir);},selfO.speed);
}
};
window.onload=function(){
//create the Spinner objects
var SpinnerHours = new Spinner(document.getElementById('txtHours'),0,23);
}